package a; import java.awt.Color; import java.awt.Dimension; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.Toolkit; import java.util.HashMap; import java.util.Map; import javax.swing.JFrame; import javax.swing.JPanel; /** * * @author mmetelka */ public class SimpleTextPreviewAA extends JPanel { public static void main(String[] args) { JFrame f = new JFrame(); f.add(new SimpleTextPreviewAA()); f.pack(); f.setVisible(true); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } @Override public Dimension getPreferredSize() { return new Dimension(300, 200); } @Override public void paint(Graphics g) { super.paint(g); Font font = new Font("Liberation Mono", Font.PLAIN, 16); g.setFont(font); g.setColor(Color.black); g.drawString("Hello NoHints", 10, 30); Map desktopHints = (Map) Toolkit.getDefaultToolkit().getDesktopProperty("awt.font.desktophints"); System.err.println("desktopHints: " + desktopHints); ((Graphics2D)g).setRenderingHints(desktopHints); g.drawString("Hello DesktopHints", 10, 60); Map myHints = new HashMap(desktopHints); // myHints.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); myHints.put(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON); myHints.put(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); // myHints.put(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_NORMALIZE); myHints.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); // myHints.put(RenderingHints.KEY_TEXT_LCD_CONTRAST, 100); ((Graphics2D)g).setRenderingHints(myHints); g.drawString("Hello MyHints", 10, 90); } }