9

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

4

6 回答 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 回答