跪求:java在Linux系统下实现JFrame或者JWindow透明

来源:百度知道 编辑:UC知道 时间:2024/05/30 06:40:54
跪求:想使用Java语言在Linux系统下实现窗体的透明,但是想尽了一切办法还是没有实现,跪求各位大虾,有没有稿过这个的,指点一下小弟,谢谢了先
回复一楼的:
我现在能在Mac系统和Window系统实现透明窗体,但是就是在Linux上无法实现,我使用了JDK1.6 update 14中的AWTUtilities这个类的setWindows...的三个方法,都试过了,很遗憾都不行,不过最近研究发现
AWTUtilities.setWindowShape(Window, Shape) 这个方法倒是还凑合能实现,不过还是存在一定的缺陷

回复二楼的:
用的是Linux的默认UI 你说的那种快照方式我也试过了,不过存在的缺陷是在切换窗体焦点时总是会闪几次才行,AWTUtilities.setWindowOpacity(Window, float) 这个方法Linux说是不支持,无奈了

我不明白,既然你用java写界面,那和操作系统关系不大吧..另外网上关于透明窗体的例子很多,你都试过什么方法了?你既然强调linux,那难道是相同的代码在windows下可以实现,而linux下不行?
-----------------------------------------------------------
额。。楼主好先进啊,我一查手头上的api,也是1。6的,居然没有awtutilites这个类。。难道是update版本不够。。
我的同学以前做透明窗体的时候我想也没有这个类吧,那时他是用了第三方库,也许你可以找找看

是的,我的程序有类似的问题,组件的透明效果在Mac OS和Win OS下工作正常,到了Linux就各种失效。。。楼主知道是什么原因了吗?

讲讲用那种ui?每种实现可能不一样吧

试试用java.awt.Robot获取系统背景,再获取程序绝对位置,然后截图当背景