如何在JavaSwing中创建半透明窗口?
我使用java,我想制作一个半透明的窗口(像一个80%alpha的黑色窗口)。我的代码的基础是以下帖子中的代码: 问题是,当我运行我的程序时,窗口是半透明的,但正如您在下图中看到的,背景色(洋红色)仅显示在文本上,而不是白色。 更糟糕的是,当我选择透明度为如何在JavaSwing中创建半透明窗口?,java,swing,Java,Swing,我使用java,我想制作一个半透明的窗口(像一个80%alpha的黑色窗口)。我的代码的基础是以下帖子中的代码: 问题是,当我运行我的程序时,窗口是半透明的,但正如您在下图中看到的,背景色(洋红色)仅显示在文本上,而不是白色。 更糟糕的是,当我选择透明度为颜色(0,0,0125)的黑色作为绘图颜色时,屏幕上没有显示任何内容 以下是我到目前为止的情况: public class DssWindow extends JFrame { /** * */ priva
颜色(0,0,0125)
的黑色作为绘图颜色时,屏幕上没有显示任何内容
以下是我到目前为止的情况:
public class DssWindow extends JFrame
{
/**
*
*/
private static final long serialVersionUID = 2455172975892566000L;
/**
*
*/
public DssWindow()
{
super("My frame");
setUndecorated(true);
setBackground(new Color(0,0,0,0));
setAlwaysOnTop(true);
JPanel contentPane = new JPanel()
{
@Override
public void paintComponent(Graphics g)
{
super.paintComponent(g);
if(!(g instanceof Graphics2D))
{
return;
}
Graphics2D gr = (Graphics2D)g.create();
gr.setColor(new Color(255,0,255,200));
gr.fillRect(0, 0, getWidth(), getHeight());
}
};
contentPane.setOpaque(false);
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
contentPane.setPreferredSize(new Dimension(screen.width,screen.height));
setContentPane(contentPane);
pack();
}
}
有人知道/知道问题出在哪里吗?
我在Linux上工作(也许这是答案的一部分)
谢谢。好的,我的问题如下:
图形驱动程序似乎是这种行为的原因。可能的重复不是重复。我用这篇文章来制作我的程序。这是我的另一个问题。