HY,..
如何设置背景透明并“删除”近距离操作(标记为红色)? 我只想出示卡片:-)
谢谢..!
答案 0 :(得分:14)
尽管UNDECORATED JFrame透明度没有问题(myJFrame.setBackground(new Color(0,0,0,0));已经足够了),但JDialog的工作方式不同。
然而,我发现以下序列适用于JDialog:
myJDialog.getRootPane ().setOpaque (false);
myJDialog.getContentPane ().setBackground (new Color (0, 0, 0, 0));
myJDialog.setBackground (new Color (0, 0, 0, 0));
A仍然存在,但是我的私有的,简单的建议是,应该针对UnsupportedOperationException和IllegalComponentStateException尝试所有对Window扩展器(例如JFrame,JDialog)的setBackground调用。
答案 1 :(得分:11)
yourDialog.setUndecorated(true)
应该为标题栏提供技巧。
使框架透明。您必须使用yourDialog.getRootPane().setOpaque(false)
在根面板上工作。
答案 2 :(得分:2)
我按照文章中的说明进行了操作,并且完成了工作并不困难。 :) 我现在有了半透明的SplashImage ans About屏幕,它显示PNG图像并尊重其(复杂)透明度。真棒。 请注意,要继续的方法将在JDK 7中稍微改变一下。
注意关键字之间的区别。 http://download.oracle.com/javase/tutorial/uiswing/misc/trans_shaped_windows.html#6u10
如果
那就好了yourDialog.setUndecorated(true);
yourDialog.getRootPane().setOpaque(false);
伎俩有效,但它没有给我。也许我做错了什么。
我还注意到使用setContentPane(Component)很重要;而不是getContentPane.add(Component);
我很高兴它现在有效! :)