【发布时间】:2011-12-06 15:54:16
【问题描述】:
我正在开发一个具有 Synth 外观的 Java swing 应用程序。该应用程序有一个包含一些文本的背景图像,我需要在这个背景层上方有一些“活动”文本(JLabel 中的文本)。但是,由于某种原因,我选择的字体 (Verdana) 在 Swing 中呈现得非常糟糕,因此,活动文本的字体与背景的字体不匹配。有谁知道在 Swing 中使文本看起来更平滑的方法?我发现了类似的问题here 和here,但我不确定 AA 对其余应用程序图像有什么影响,或者是否使用 AWT 桌面属性或 -Dswing.aatext=true 标志。任何提示将不胜感激。谢谢!
编辑:我已经在 OSX 和 Windows 7 中对此进行了测试,两者都表现出相同的效果。
【问题讨论】:
-
不要进行自定义文本绘制,而是使用文本配置组件(f.i. JLabel)并将标签呈现在图形顶部
-
对不起,我应该说得更具体一些,JLabels 中的文本渲染得不好。
-
@camickr - 我们不同意这一点,我们知道 :-) 使用桌面属性非常困难,没有任何保证在任何地方都能正确使用它。 “最好”的结果是 laf 可以做的,深深地隐藏在 sun 包中,这就是为什么我建议总是使用 JLabel ...
-
hmmm ... JLabel 看起来很糟糕?这很奇怪,自 6u10 以来还没有看到太多的混叠问题。时间到了。
标签: java swing user-interface rendering synth