我已经看过几个关于透明JFrame / JWindows / Windows的教程和问题,但他们都有点击'您可以与之互动的财产。有没有办法禁用此功能?
一些相关代码:
//imports
public class Canvas extends JFrame
{
public Canvas()
{
super();
setBounds(getGraphicsConfiguration().getBounds()); //set fullscreen
setUndecorated(true); //remove decoration
setBackground(new Color(0, true)); //make transparent
setAlwaysOnTop(true);
setFocusable(true);
requestFocus();
setVisible(true);
//Esc to close
addKeyListener(new KeyAdapter()
{
@Override
public void keyPressed(KeyEvent e)
{
if(e.getKeyCode() == KeyEvent.VK_ESCAPE)
{
System.exit(0);
}
}
});
}
}
通过使用低alpha设置设置背景,我基本上可以达到我想要的效果:
setBackground(new Color(0, 0, 0, 1)); //1 alpha (1 out of 255)
然而,这更像是一个黑客而不是一个真正的解决方案。有没有更好的方法来实现这一目标?