如何设置JDialog的透明背景

Chr*_*ler 10 java swing transparency background translucency

HY,..

如何设置背景透明并"删除"近距离操作(标记为红色)?我只想出示卡片:-)

替代文字

谢谢..!

小智 15

虽然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));
Run Code Online (Sandbox Code Playgroud)

A仍然存在,但是我的私有的,简单的建议是,应该针对UnsupportedOperationException和IllegalComponentStateException尝试所有对Window扩展器(例如JFrame,JDialog)的setBackground调用.


Lud*_*oMC 11

yourDialog.setUndecorated(true)应该为标题栏做点什么.

使框架透明.你必须yourDialog.getRootPane().setOpaque(false)在它上面的根面板上工作.