Cambiare dimensioni e forma dei caratteri

I caratteri che si usano per rappresentare le lettere sono caratterizzati da tre componenti: il tipo di carattere (per esempio questo è il tipo Courier), il modo in cui viene disegnato (per esempio, questo è grassetto mentre questo è corsivo), e infine la dimensione del carattere stesso (questi caratteri sono più piccoli, mentre questi sono più grandi).

Per modificare i caratteri con i quali il testo viene stampato è necessario:

Quindi, prima di tutto si dichiara una variabile di tipo Font. Il modo con cui si dicono le caratteristiche del font (cioè il modo di stampare) è usando il comando new Font, come segue:
  f = new Font(tipo_di_carattere, modo, dimensione);
dove f è una variabile di tipo Font. Questa funzione ha tre argomenti: la forma dei caratteri (per esempio, "TimesRoman", "Courier", ecc.), il modo di stampare (normale, grassetto, corsivo, ecc), e la dimensione dei caratteri.

Esempi di tipo di carattere sono:

"TimesRoman"
"Courier"
"Helvetica"
Il modo in cui possono venire stampati i caratteri sono: normale, grassetto e corsivo.

Font.PLAIN
Font.BOLD
Font.ITALIC
Una volta memorizzato un font in una variabile f, occorre impostare questo come font di default. Si esegue quindi la istruzione setFont(f);, e questo fa sí che tutti i successivi caratteri che vengono stampati appaiono con le caratteristiche specificate.

Il programma CambiaFont.java mostra un esempio dei modi in cui si possono stampare delle stringhe.

/*
  Cambiamento di font
*/

import java.awt.*;

public class CambiaFont extends java.applet.Applet {
  public void paint(Graphics g) {
    Font f;

	/* scrive con il font di default */
    g.drawString("Questa e' una stringa",10,10);

	/* cambia font: times con dimensione 14 */
    f = new Font("TimesRoman", Font.PLAIN, 14);
    g.setFont(f);

	/* scrive un'altra stringa */
    g.drawString("Nuova stringa in un nuovo carattere",10,50);

	/* ancora cambiamento di font: Helvetica bold, dim 16 */
    f = new Font("Helvetica", Font.BOLD, 16);
    g.setFont(f);
    g.drawString("In grassetto",10,100);

	/* grassetto+corsivo */
    f = new Font("Symbol", Font.BOLD+Font.ITALIC, 12);
    g.setFont(f);
    g.drawString("safdsaf",10,150);
  }
}

Il risultato è il seguente.