透明的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示例,请参阅半透明框架/面板/组件上的重新绘制问题 。