使用Java 7的Mac OSX上的透明JFrame/JWindow

使用Java 7的Mac OSX上的透明JFrame/JWindow,java,macos,swing,jframe,transparent,Java,Macos,Swing,Jframe,Transparent,我们有一个屏幕共享小程序,它打开一个Swing JFrame,并使用Robot类捕获空帧后面的屏幕 用户可以单击框架并与小程序后面的任何内容交互。 这在Windows上运行良好,并用于苹果的Java版本,但在Mac的Java7上不起作用。鼠标单击不会穿过JFrame JFrame使用: setAlwaysOnTop(true); setUndecorated(true); 尝试使用: AWTUtilities.setWindowOpaque(false); 或 在苹果的版本中: getRoo

我们有一个屏幕共享小程序,它打开一个Swing JFrame,并使用Robot类捕获空帧后面的屏幕

用户可以单击框架并与小程序后面的任何内容交互。 这在Windows上运行良好,并用于苹果的Java版本,但在Mac的Java7上不起作用。鼠标单击不会穿过JFrame

JFrame使用:

setAlwaysOnTop(true);
setUndecorated(true);
尝试使用:

AWTUtilities.setWindowOpaque(false);

在苹果的版本中:

getRootPane().putClientProperty("apple.awt.draggableWindowBackground", Boolean.FALSE);
Call成功了,但这已经不起作用了

请告知

谢谢, Eilon是jdk 7中的bug(将在jdk 9中修复)。只有这样才能使用jdk 6


另外,你找到这个问题的解决方案了吗?

试着尽快发布一个帖子寻求更好的帮助……有人找到了这个问题的解决方案吗?不确定什么时候解决了,但它在java中对我有效,代码如下:@JeroenKetelaar我使用jdk 6 for Mac.yea有效,尽管现在大多数人使用java 7,因此,当这个问题发生时,我无法为其他人写一些东西。谢谢你的更新!
getRootPane().putClientProperty("apple.awt.draggableWindowBackground", Boolean.FALSE);