最近准备将项目jdk升级至1.7以解决swing字体质量问题,今天试了下,升级至1.7问题依旧,对oracle真是大失所望,实在没办法先在此招高手求解,找不到方案的话就只好自己动手给swing动手术刀。
在XP系统,字体正常,见名片签名
在Win7 下,字体锐化模糊,见名片签名。
此问题实在纠结,我也看了网上第一刀,第二刀之类的文章,不认可那样的解决方案。此问题原因主要是不能设置窗体为透明(java7或jdk1.6_u10以上),上图名片为了阴影效果,窗体设为透明,所以字体模糊。
但令人费解的是主窗体设置了shape(圆角)字体是正常的,由此推断设置shape,窗体也并非透明,shape的实现是采用了bufferedImage。
字体模糊只对“宋体”字才出现,而我们通常使用的字体都是宋体。之前对单个jcomponent一旦使用
RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON
进行渲染也会出现字体锐化模糊,单个组件好解决,不使用就行。
因为要实现QQ阴影边框的效果,所以窗体必须得透明。跪求高手指点!
最后,OO的下载地址: http://im.gitom.com
个人QQ: 285264911
email: 285264911@qq.com