Java: eine Liste aller Fonts erstellen

Java ermöglicht es dir, verschiedene Schriftarten in deinen Swing-Dialogen zu verwenden. Die Klasse GraphicsEnvironment listet alle Fonts auf, die auf deinem Computer zur Verfügung stehen. Die Methode, die zu verwenden ist, heißt getAvailableFontFamilyNames().

Wie die Methode schon sagt, ist das Resultat eine Liste von „Font-Familien“. Eine font family ist ein Satz von Schriftschnitten, die logisch zusammengehören, wie normal („regular“) vs. fett („bold“) vs. kursiv („italics“)

Dies sind die nötigen Schritte zum Anzeigen einer Fontliste:

  • Beschaffe Dir eine Instanz der Klasse GraphicsEnvironment.
  • Frage GraphicsEnvironment nach der Liste aller verfügbaren Schriftfamilien, verwende dazu die Methode getAvailableFontFamilyNames(). Das Ergebnis ist eine Liste mit Einträgen vom Typ string.
  • Mach etwas kreatives mit dem Ergebnis.

Erlaube es dem Anwender, die Fonts zu konfigurieren

Bitte beachte, dass die Liste der verfügbaren Schrifarten/Fonts davon abhängt, welche Fonts auf dem Rechner installiert sind. Deine Liste wird anders aussehen als meine.

Wenn du also ein Programm auf deinem Rechner entwickelst und es dann dem Kunden zur Verfügung stellst, so wird der Kunde eine andere Liste von Fonts sehen als du auf deinem Rechner. Stelle sicher, dass dein Programm überall läuft. Das bedeutet, dass der Kunde einen Weg braucht, um die zu verwendenden Schrifarten auszuwählen. Verlasse dich nicht darauf, dass der Endanwender deinen Lieblingsfont auch installiert hat.

Beispielcode zum Anzeigen der Fontliste

Hier ist ein Beispielcode zum Anzeigen der Fontliste:

package de.evermann.java;

import java.awt.GraphicsEnvironment;

public class ListAllAvailableFonts {
    public static void main(String[] args) {
        String availableFonts[] = 
              GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames();

        for (String fontFamilyName : availableFonts) {
            System.out.println(fontFamilyName);
        }
    }
}

image credit:

Bild von Willi Heidelbach auf Pixabay

heiko

Dipl.-Ing. Heiko Evermann

Vorheriger Artikel