是否可以制作具有透明背景的 JFrame 并在其上绘制图像,因此只有图像可见,没有边框或背景?
问问题
40219 次
6 回答
14
是的,这在很多方面都是可能的。这是其中之一:
setUndecorated(true);
setBackground(new Color(1.0f,1.0f,1.0f,0.5f));
Color 构造函数中的第 4 个浮点数(我设置为 0.5f)是 alpha 通道。它可以是 0.0f - 1.0f 取决于您想要的透明度。
于 2013-03-14T18:40:39.707 回答
11
请参阅Kirill Grouchnikov 的半透明和异形摆动窗。
于 2010-03-28T18:46:13.047 回答
4
您也应该使内容窗格透明。
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));
于 2015-10-07T09:14:26.597 回答
1
有可能的。
如果您的 JFrame 是局部变量或字段:
myJFrame.setUndecorated(true);
如果您的课程扩展了 JFrame:
setUndecorated(true);
于 2012-06-10T16:49:52.273 回答
0
对于 Mac OS X 示例,请参阅Re-paint problem on translucent frame/panel/component。
于 2010-03-28T20:29:30.203 回答
0
setOpacity(0.50f);//50% 不透明
于 2021-08-24T08:10:18.563 回答