
beautyeye - issue #25
[java官方bug导致的问题]在win7平台下的java1.6.0_33及其它版本上调用窗口透明api后窗内所有文本被强制反走样
【问题描述】: 在jdk1.6.0_u33下+win7平台下(其它版本是否也有这情况尚未完全验证),JFrame窗口 被设置成透明后,该窗口内所有文本都会被反走样(不管你有没有要求反走样),从而导 致文本看起来发虚。
【原因分析】: 这应该是官方AWTUtilities.setWindowOpaque(..) bug导致的,java1.7.0_u6及其它较新版本同样存在该问题,使用BeautyEye时,遇到这样的问题只能让窗口使用不透明边框类型才行(这样 BERootPaneUI类的设置窗口透明的代码就不用执行,也就不用触发该bug了),但JDialog 不受此bug影响,诡异!
Comment #1
Posted on Sep 19, 2012 by Happy Monkey(No comment was entered for this change.)
Attachments- QQ截图20120919150616.png 21.25KB
Comment #2
Posted on Sep 19, 2012 by Happy Monkey【目前的解决方法】:2012-09-19 1)换用java老一点的版本,比如update14以上; 2)使用不需要透明窗口的边框类型,FrameBorderStyle.generalNoTranslucencyShadow或FrameBorderStyle.osLookAndFeelDecorated,如何自定义窗口边框类型具体请参见:https://code.google.com/p/beautyeye/wiki/Introduction 。
Comment #3
Posted on Sep 20, 2012 by Happy Monkey(No comment was entered for this change.)
Status: Accepted
Labels:
Type-Defect
Priority-Medium
Milestone-官方bug,暂时无解
影响所有版本