Heim >Java >javaLernprogramm >Wie kann ich verfügbare Schriftarten in einer Java-Anwendung programmgesteuert auflisten und in der Vorschau anzeigen?

Wie kann ich verfügbare Schriftarten in einer Java-Anwendung programmgesteuert auflisten und in der Vorschau anzeigen?

DDD
DDDOriginal
2024-10-31 11:12:011068Durchsuche

How can I programmatically list and preview available fonts in a Java application?

Informationen zu Schriftarten abrufen

In Java können Sie über die GraphicsEnvironment-Klasse auf Systemschriftarten zugreifen. Um ein Array aller verfügbaren Schriftfamiliennamen zu erhalten, verwenden Sie den folgenden Code:

<code class="java">GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
String[] fonts = ge.getAvailableFontFamilyNames();</code>

Schriftgrößen und -stile können während der Laufzeit dynamisch festgelegt werden. Betrachten Sie das folgende Beispiel, das eine Schriftartenauswahl mit einer Vorschau jeder Schriftart anzeigt:

<code class="java">import java.awt.*;
import javax.swing.*;

public class ShowFonts {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
            String[] fonts = ge.getAvailableFontFamilyNames();
            JComboBox fontChooser = new JComboBox(fonts);
            fontChooser.setRenderer(new FontCellRenderer());
            JOptionPane.showMessageDialog(null, fontChooser);
        });
    }
}

class FontCellRenderer extends DefaultListCellRenderer {

    @Override
    public Component getListCellRendererComponent(
            JList list,
            Object value,
            int index,
            boolean isSelected,
            boolean cellHasFocus) {
        JLabel label = (JLabel) super.getListCellRendererComponent(
                list, value, index, isSelected, cellHasFocus);
        Font font = new Font(value.toString(), Font.PLAIN, 20);
        label.setFont(font);
        return label;
    }
}</code>

Zusätzliche Ressourcen

  • GraphicsEnvironment.getAvailableFontFamilyNames(): https://docs.oracle.com/javase/7/docs/api/java/awt/GraphicsEnvironment.html#getAvailableFontFamilyNames()
  • DefaultListCellRenderer: https://docs.oracle.com/javase/8/docs/api/javax/swing/DefaultListCellRenderer.html
  • Schriftartauswahl: https://docs.oracle.com/javase/tutorial/uiswing/ Components/combobox.html#font_fonts

Das obige ist der detaillierte Inhalt vonWie kann ich verfügbare Schriftarten in einer Java-Anwendung programmgesteuert auflisten und in der Vorschau anzeigen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn