透明的JFrame背景

时间:2010-03-28 16:41:08

标签: java transparency jframe background-image

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

5 个答案:

答案 0 :(得分:10)

见Kirill Grouchnikov的Translucent and Shaped Swing Windows

答案 1 :(得分:10)

是的,这在很多方面都有可能。这是其中之一:

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

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

答案 2 :(得分:1)

有可能。

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

myJFrame.setUndecorated(true);

如果您的类扩展了JFrame:

setUndecorated(true);

答案 3 :(得分:1)

您也应该使内容窗格透明。

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));

答案 4 :(得分:0)

有关Mac OS X示例,请参阅Re-paint problem on translucent frame/panel/component