在Linux上实现Java窗口透明度

3
在Windows XP SP3、Vista、7、8和Mac OS X Mountain Lion上,使用Java 7的窗口半透明效果非常好。但是,在Linux上我无法使其正常工作。
使用此处找到的教程,特别是GradientTranslucentWindow示例,它看起来效果很好。但是,如果您将颜色更改为白色以外的颜色(我在示例代码中唯一的更改是将R设置为0),则框架不会正确合成:
请参见此比较 isWindowTranslucencySupported方法返回PERPIXEL_TRANSLUCENT的值为true。我正在运行带有Compiz组合管理器和已启用Composite插件的Ubuntu 12.04 LTS 32位版本。
问题:
1. 我该怎么办才能使其正常工作?是需要更改Linux设置、Java代码还是其他什么?
2. 还有其他人遇到这个问题吗?Java 7已经发布了一段时间,但我找不到其他任何人遇到这个问题。Java错误数据库中有一些错误报告,但它们都被“修复”了。我已向Java错误数据库提交了一个错误,但它尚未出现在外部数据库中。
3. 我在Oracle VirtualBox下运行Ubuntu。这可能是问题吗?不幸的是,我没有一台可以安装Linux的机器,所以其他运行非虚拟机Linux的人能否尝试一下?编辑:我已安装了客户机附加组件。

1
这可能是Linux视频驱动程序的问题。如果您尚未安装VirtualBox客户机附加组件,请尝试在Linux中安装它们。 - Jesper
我经常发现在VirtualBox上运行Ubuntu视频效果不够完美,即使安装了Guest Additions也是如此。建议尝试使用Wubi:http://www.ubuntu.com/download/desktop/windows-installer - NickJ
我已经安装了客户机附加组件,抱歉之前没有说明清楚。 - user2215336
@NickJ 我真的希望已经在非虚拟机Linux上运行的人会尝试一下这个。我真的不想安装另一个操作系统,只是为了发现它是坏的。但如果必须这样做,我想那就是我必须要做的事情了。我可能还有一个问题要补充,那就是:哪个版本的Linux适合在Oracle VirtualBox上尝试,可能支持这个?我也尝试过Mint版本,但我认为这基本上是Ubuntu加上一些额外的GUI工具。 - user2215336
这就是为什么我建议使用五笔输入法 - 它将Ubuntu安装为Windows应用程序,因此您不需要另一台机器。 - NickJ
显示剩余2条评论
1个回答

0

VirtualBox 确实是问题所在(即使安装了客户机附加组件)。使用专有图形卡驱动程序运行非虚拟化的 Ubuntu 可以使示例按预期工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接