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

时间:2012-10-22 22:05:44

标签: java macos swing jframe transparent

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

用户可以点击框架并与applet背后的任何内容进行交互。 这在Windows上运行良好并且曾经与Apple的Java版本一起使用,但是使用Java 7 for Mac它不起作用。鼠标点击不会通过JFrame。

JFrame使用:

setAlwaysOnTop(true);
setUndecorated(true);

尝试使用:

AWTUtilities.setWindowOpaque(false);

或者

setBackground(new Color(0, 0, 0, 0));

使用Apple的版本:

getRootPane().putClientProperty("apple.awt.draggableWindowBackground", Boolean.FALSE);

呼叫成功了,但这已经不再有效了。

请告知。

谢谢, Eilon

1 个答案:

答案 0 :(得分:1)

这是jdk 7中的错误(将在jdk 9中修复)。只有使用jdk 6的方法。

link to bug database

P.S。你能找到解决这个问题的方法吗?