我有一个简单的程序,atm显示一个带有图像的透明窗口,它始终位于其他窗口之上。是否可以通过我的应用程序直接输入,以便点击下面的程序?
例如,窗口位于桌面背景上,我希望能够点击图标而不是我的“叠加应用”。
感谢。
答案 0 :(得分:1)
使用JNA的WindowUtils
在Windows 7(未经测试的其他系统)上实现此效果:
JFrame frame = new JFrame();
//...
frame.setAlwaysOnTop(true);
System.setProperty("sun.java2d.noddraw", "true");
WindowUtils.setWindowTransparent(frame, true);
WindowUtils.setWindowAlpha(frame, 0.6f);
感谢Nate关于setAlwaysOnTop
的评论,使其成为更可行的选择。
答案 1 :(得分:0)
我认为你不能轻易做到这一点,因为在那之后你的操作系统已经将鼠标点击发送到Java应用程序,你无法再次发送它以激活Java应用程序下面的任何内容。
如果所有内容都只在一个Java应用程序中,而不在单独的环境中,则可以轻松完成。
答案 2 :(得分:0)
您可以使用此代码点击JFrame
...
AWTUtilities.setWindowOpaque(this, false);
AWTUtilities.setWindowOpacity(this, 0.8f);