Java Swing字体显示失真,如何设置文本抗锯齿?
Java Swing(JFreeChart)自定义字体显示模糊刺眼问题
我正在开发一款现代风格GUI程序,但Java Swing的文本显示效果极差,十分刺眼。
显示效果如下:
其中数字的显示形态非常糟糕。我使用了以现代风格和边缘平滑著称的Montserrat自定义字体,但Java完全破坏了它的显示效果。
(显示这些数字的组件来自JFreeChart,无法确定具体是哪个组件,但推测是JLabel)
我已经尝试了以下方法:
- 通过设置系统属性启用抗锯齿:
System.setProperty("awt.useSystemAAFontSettings","on");System.setProperty("awt.useSystemAAFontSettings","lcd");System.setProperty("swing.aatext", "true");
以上设置均无效。 - 重写ChartPanel的
paintComponent方法:
ChartPanel graficoInnerPanel = new ChartPanel(grafico){ @Override public void paintComponent(Graphics g) { super.paintComponent(g); Graphics2D g2 = (Graphics2D) g; g2.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); } };
内容的提问来源于stack exchange,提问作者r rr
相关产品推荐
相关产品推荐

