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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mac OSX上使用Java 7的透明JFrame / JWindow相关的知识,希望对你有一定的参考价值。

我们有一个屏幕共享小程序,它打开一个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);

电话就是伎俩,但这已不再适用了。

请指教。

谢谢,艾伦

答案

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

link to bug database

附:你有没有找到解决这个问题的方法?

以上是关于Mac OSX上使用Java 7的透明JFrame / JWindow的主要内容,如果未能解决你的问题,请参考以下文章

在 Mac OSX 上通过 Android Studio 和 Eclipse 使用 JDK 7 或更高版本

java swing问题:JFrame根面板不透明且可见,内容面板不透明且可见,层面板透明且可见,

在 Java 6 和 Java 7 中使用透明窗口

Java - ol' 透明 JFrame,没有受限库

如何在 Mac OSX 上使用 JDK 7?

为啥 JFrame 仍然不透明?