透明的JFrame背景

是否可以制作具有透明背景并在其上绘制图像的JFrame,以便只有图像可见而没有边框或背景?

请参阅Kirill Grouchnikov的Translucent and Shaped Swing Windows 。

是的,它可以在很多方面实现。 这是其中之一:

setUndecorated(true); setBackground(new Color(1.0f,1.0f,1.0f,0.5f)); 

Color的构造函数中的第4个float(我设置为0.5f)是alpha通道。 它可以是0.0f – 1.0f取决于你想要的透明度。

有可能的。

如果您的JFrame是局部变量或字段:

 myJFrame.setUndecorated(true); 

如果您的类扩展了JFrame:

 setUndecorated(true); 

您应该使内容窗格透明。

 frame.setUndecorated(true); frame.getContentPane().setBackground(new Color(1.0f,1.0f,1.0f,0.0f)); frame.setBackground(new Color(1.0f,1.0f,1.0f,0.0f)); 

对于Mac OS X示例,请参阅半透明框架/面板/组件上的重新绘制问题