how to make JTextPane paint anti-aliased font?

≯℡__Kan透↙ 提交于 2019-11-28 12:58:13

This will result in an antialiased font in a JLabel. Make sure you call super.paintComponent(g); after setting the RenderingHints.

JLabel lblFont = new JLabel(){

            @Override
            public void paintComponent(Graphics g) {
                Graphics2D graphics2d = (Graphics2D) g;
                graphics2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
                        RenderingHints.VALUE_ANTIALIAS_ON);
                super.paintComponent(g);
            }
        };

putClientProperty(SwingUtilities2.AA_TEXT_PROPERTY_KEY, null);

If you want your result to look like the the upper sample, then you want to disable anti-aliasing.

The first sample in your question has anti-aliasing disabled and the second sample has it enabled.

According to http://mindprod.com/jgloss/antialiasing.html the following code should help:

jtextArea.putClientProperty(com.sun.java.swing.SwingUtilities2.AA_TEXT_PROPERTY_KEY, Boolean.TRUE);

Notice that the reference to com.sun.java.* will make your application non-portable to non-Sun JVMs (and possibly to different versions of Sun JVMs).

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!