喂,..
如何设置背景透明并“删除”关闭操作(标记为红色)?我只想出示卡片:-)
谢谢..!
虽然 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 调用。
yourDialog.setUndecorated(true)
应该做标题栏的伎俩。
使框架透明。您必须使用它在根面板yourDialog.getRootPane().setOpaque(false)
上工作。
我按照文章中的说明进行操作,最终效果很好,而且一点也不难。:) 我现在有我的半透明 SplashImage ans About 屏幕,它显示 PNG 图像并尊重其(复杂)透明度。太棒了。请注意,在 JDK 7 中继续执行的方法会有所改变。
请注意关键字之间的区别。 http://download.oracle.com/javase/tutorial/uiswing/misc/trans_shape_windows.html#6u10
如果
yourDialog.setUndecorated(true);
yourDialog.getRootPane().setOpaque(false);
把戏奏效了,但对我没有用。也许我做错了什么。
我还注意到使用 setContentPane(Component); 很重要。而不是 getContentPane.add(Component);
我很高兴它现在可以工作了!:)