Domanda

in app un'altalena sto rendering del testo con un JComponent personalizzato, utilizzando Graphics.drawString(). Ecco un esempio:
testo aa http://img525.imageshack.us/img525/4928/drawstringsample.jpg
in quella stessa applicazione, sto rendering del testo utilizzando un JTextPane. Ecco un esempio:
alt text http://img28.imageshack.us/img28/1134/jtextpanesample.jpg

si può notare come il campione più basso è un po 'sbavato'? Beh, io non riesco a capire come far sembrare il campione superiore.

grazie, Asaf: -)


Aggiornamento:

  • System.setProperty("awt.useSystemAAFontSettings","false") e "lcd" troppo non funzionano.
  • ((Graphics2D)g).setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_OFF) in paint() non funziona
  • putClientProperty( sun.swing.SwingUtilities2 .AA_TEXT_PROPERTY_KEY, Boolean.TRUE)java.lang.ClassCastException: java.lang.Boolean cannot be cast to sun.swing.SwingUtilities2$AATextInfo
È stato utile?

Soluzione 2

putClientProperty(SwingUtilities2.AA_TEXT_PROPERTY_KEY, null);

Altri suggerimenti

Questo si tradurrà in un font con antialiasing in un JLabel. Assicurarsi di chiamare super.paintComponent (g); dopo aver impostato le 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);
            }
        };

Se si desidera che il risultato a guardare come il campione in alto, poi si desidera Disattiva anti-aliasing.

Il primo campione nella tua domanda ha proprietà anti-aliasing disabilitato e il secondo campione lo ha attivato.

http://mindprod.com/jgloss/antialiasing.html il seguente codice dovrebbe aiutare:

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

Si noti che il riferimento a com.sun.java.* renderà la vostra applicazione non-portatile per non Sun JVM (e possibilmente a diverse versioni di Sun JVM).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top