Linux 上的 Java 窗口半透明

标签 java linux swing translucency

在 Windows XP SP3、Vista、7、8 和 Mac OS X Mountain Lion 上使用 Java 7 窗口半透明效果很好。但是,在 Linux 上我无法让它正常工作。

使用教程发现here ,特别是 GradientTranslucentWindow 示例,它似乎效果很好。但是,如果您将颜色更改为白色以外的其他颜色(我所做的唯一更改是在示例代码中将 R 设置为 0),则框架无法正确合成:

See this comparison

isWindowTranslucencySupported 方法为 PERPIXEL_TRANSLUCENT 返回 true。我正在运行带有 Compiz 复合管理器的 Ubuntu 12.04 LTS 32 位,并打开了 Composite 插件。

问题:

  1. 我该怎么做才能让它发挥作用?是需要更改 Linux 设置、Java 代码更改还是什么?
  2. 还有其他人遇到这个问题吗? Java 7 已经推出一段时间了,但我找不到其他人遇到这个问题。 Java 错误数据库中有一些错误报告,但它们都已“修复”。我已将错误提交到 Java 错误数据库,但它尚未出现在外部数据库中。
  3. 我在 Oracle VirtualBox 下运行 Ubuntu。这可能是问题所在吗?可悲的是,我没有安装 Linux 的机器,那么运行非 vm linux 的其他人可以试试这个吗? 编辑 我安装了访客插件。

最佳答案

VirtualBox 确实是问题所在(即使有 guest 附加组件)。运行带有专有显卡驱动程序的非 vm'ed Ubuntu 允许示例按预期工作。

关于Linux 上的 Java 窗口半透明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15658589/

相关文章:

c - ioctl 使用全局数组返回错误地址

java - 包含 BroadCastReceiver 的服务无法正常运行

java - Liquibase:组织变更日志的最佳实践

java - LWJGL - 加载声音和字体而不平滑

java - 如何在 Java Swing 中获取面板的所有组件?

Java JPanel 闪烁

java - 如何在JFrame中排列,升序,降序,冒泡,输入区域,输出区域

java - 如何添加新 child 而不覆盖其他 child

Java 进程终止 - onEnd()?

java - 我的 $PATH 变量集的全局配置在哪里?