是否可以创建一个具有透明背景并在其上绘制图像的JFrame,以便只有图像可见,没有边框或背景?
是否可以创建一个具有透明背景并在其上绘制图像的JFrame,以便只有图像可见,没有边框或背景?
是的,有很多方法可以实现。以下是其中一种方法:
setUndecorated(true);
setBackground(new Color(1.0f,1.0f,1.0f,0.5f));
Color构造函数中第四个浮点数(我将其设置为0.5f)是alpha通道。它可以是0.0f - 1.0f,取决于您想要的透明度。
请查看Kirill Grouchnikov编写的透明和形状的Swing窗口教程。
你应该将内容面板也设置为透明。
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));
这是可能的。
如果您的JFrame是一个局部变量或字段:
myJFrame.setUndecorated(true);
setUndecorated(true);
setOpacity(0.50f);//50%不透明
0.5f
替换为0.0f
时,这对我有用。好答案。 - Hasitha Jayawardana