使用 Java 实现窗口透明度

The*_*Bat 5 unity java 14.04

我正在使用一个 Java 应用程序,它严重依赖于窗口透明度才能正常工作(窗口显然彼此重叠以使它们相互交叉)。在 Windows 上它工作得很好,但在 Ubuntu 上,没有一个透明度可以正常工作,并且所有的窗口都变成白色,就好像它们没有 alpha 值一样。Ubuntu 有什么办法可以让 Java 使用透明窗口吗?

小智 0

如果您能提及您正在使用的 Java 版本,将会很有帮助。我正在使用 Oracle Java 8 运行 Ubuntu 14.04。为了测试透明窗口处理,我下载、编译并运行了 Oracle 的形状半透明窗口演示

$ mkdir misc
$ cd misc
$ wget -q https://docs.oracle.com/javase/tutorial/uiswing/examples/misc/ShapedWindowDemoProject/src/misc/ShapedWindowDemo.java
$ javac ShapedWindowDemo.java 
$ cd ..
$ java -version
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
$ java misc.ShapedWindowDemo
Run Code Online (Sandbox Code Playgroud)

透明窗口创建成功,如图所示:

透明窗

因此,我的第一个建议是使用 Oracle Java 8 尝试该程序(如果您还没有这样做的话)。