Wie kann man die Systemschriften ermitteln?

Die Klasse java.awt.GraphicsEnvironment stellt mit getAllFonts() eine Methode bereit, um ein Array aller auf dem System installierten Schriften zu ermitteln.

Um alle auf dem System installierten Schriften auf der Konsole auszugeben, wird in main() zunächst ein Objekt des GraphicsEnvironment erzeugt. Seine Methode getAllFonts() liefert ein Array aller im aktuellen Graphiksystem registrierten Schriften als Objekte einer Größe von einem Punkt.

public class SchriftenErmitteln {

    public static void main(String[] args) {
        GraphicsEnvironment ge = GraphicsEnvironment
                .getLocalGraphicsEnvironment();
        Font[] fonts = ge.getAllFonts();
        for (Font f : fonts) {
            if (f.getName().equals("Verdana")) {
                Font font = f.deriveFont(Font.BOLD, 16);
                System.out.println(font.getName() + ", " + font.getStyle()
                        + ", " + font.getSize());
            }
        }
    }
}

Etwa innerhalb einer JComboBox kann dann das Array zur Auswahl bereitgestellt und die gewünschte Schriftart durch Zuweisen von Größe und Stil von der dort ausgewählten abgeleitet werden. Die mehrfach überladene Methode Font.deriveFont() kann hierzu verwendet werden und liefert, wie im Beispiel gezeigt, ein entsprechendes Font-Objekt.

Wenn Ihnen javabeginners.de gefällt, freue ich mich über eine Spende an diese gemeinnützigen Organisationen.