Rendering smoothing for text seems broken for components of Swing Java 1.7 (Windows). Setting KEY_ANTIALIASING and / or KEY_TEXT_ANTIALIASING no longer affects the display of JEditorPane , JEditorPane , etc. - but actually I need different settings in my project.
In this screenshot, you can compare the different behavior in Java 1.6 (jdk1.6.0_45) and Java 1.7 (jdk1.7.0_40) created using the test program below:

The left side is Java 1.6, the right side is Java 1.7. The first column is colored with Graphics2D.drawString , the second with JLabel . In Java 1.6, rendering hints affect the display of JLabel, while in Java 1.7 all JLabels render the same (except for units with fractional metrics).
Did you know that smoothing hints affect Swing components in Java 1.7?
Testing program:
import java.awt.*; import java.util.*; import javax.swing.*; public class AntialiasMain extends JFrame { public AntialiasMain() { JPanel panel = new JPanel(new GridLayout(0, 1)); panel.add(new AntialiasLabel("default", null)); HashMap<Key, Object> hints = new HashMap<Key, Object>(); hints.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_OFF); panel.add(new AntialiasLabel("AA off", hints)); hints = new HashMap<Key, Object>(); hints.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); panel.add(new AntialiasLabel("AA on", hints)); hints = new HashMap<Key, Object>(); hints.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF); panel.add(new AntialiasLabel("TextAA off", hints)); hints = new HashMap<Key, Object>(); hints.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); panel.add(new AntialiasLabel("TextAA on", hints)); hints = new HashMap<Key, Object>(); hints.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); hints.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); panel.add(new AntialiasLabel("AA+TextAA on", hints)); hints = new HashMap<Key, Object>(); hints.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); hints.put(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON); panel.add(new AntialiasLabel("AA+FracMetr on", hints)); hints = new HashMap<Key, Object>(); hints.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); hints.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB); panel.add(new AntialiasLabel("AA+TextLCD on", hints)); hints = new HashMap<Key, Object>(); hints.put(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_LCD_HRGB); panel.add(new AntialiasLabel("TextLCD on", hints)); getContentPane().add(panel); } class AntialiasLabel extends JLabel { private final HashMap<Key, Object> hints; private final String label; private static final String PALYNDROME = "The quick brown fox jumped over the lazy dog"; public AntialiasLabel(String label, HashMap<Key, Object> hints) { super(PALYNDROME); setForeground(Color.BLACK); setBorder(BorderFactory.createEmptyBorder(10, 150, 10, 10)); this.label = label; this.hints = hints; } @Override protected void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D) g; if (hints != null) g2.setRenderingHints(hints); g2.drawString("Setting: " + label, 2, getHeight() / 2 + 5); super.paintComponent(g2); } } public static void main(final String[] args) { JFrame f = new AntialiasMain(); f.setDefaultCloseOperation(DISPOSE_ON_CLOSE); f.pack(); f.setVisible(true); } }
Edit : System properties swing.aatext and awt.useSystemAAFontSettings do not work. Also does not change Look and Feel .