是否可以制作具有透明背景并在其上绘制图像的JFrame,以便只有图像在没有边框或背景的情况下可见?
答案 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。