Heim >Java >javaLernprogramm >Wie kann ich in Java auf Schriftarten, Größen und Stile zugreifen und diese bearbeiten?

Wie kann ich in Java auf Schriftarten, Größen und Stile zugreifen und diese bearbeiten?

Barbara Streisand
Barbara StreisandOriginal
2024-10-28 16:29:01592Durchsuche

How do I access and manipulate fonts, sizes, and styles in Java?

Schriftarten, Größen, Fettdruck und mehr in Java abrufen

Der Zugriff auf vordefinierte Schriftarten, -größen und -farben in einem Java-Programm kann eine Herausforderung sein . Um dieses Problem zu lösen, untersuchen wir, wie man diese Elemente effektiv erhält.

GraphicsEnvironment

Um die verfügbaren Schriftarten auf dem System abzurufen, verwenden Sie die GraphicsEnvironment-Klasse. Es stellt die Methode getAvailableFontFamilyNames() bereit, die ein String-Array zurückgibt, das die Namen aller installierten Schriftfamilien enthält.

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

Schriftart-Rendering

Sobald Sie die Schriftart haben Namen können Sie ein Schriftartobjekt mit den gewünschten Attributen erstellen. Der Font-Konstruktor benötigt drei Parameter: den Schriftartnamen, den Stil und die Größe. Um beispielsweise eine Arial-Schriftart mit der Größe 12 und einem fetten Stil zu erstellen, verwenden Sie:

<code class="java">Font font = new Font("Arial", Font.BOLD, 12);</code>

Größen und Stile

Im Gegensatz zu Schriftarten sind die Größen und Stile können zur Laufzeit dynamisch festgelegt werden. Sie werden als Konstanten in der Font-Klasse definiert, z. B. Font.BOLD, Font.ITALIC und Font.PLAIN für Stile und Font.SIZE1, Font.SIZE2 usw. für Größen.

<code class="java">font.setBold(true);
font.setSize(14);</code>

Beispiel

Das folgende Snippet zeigt ein Java-Programm, das eine Schriftartenauswahl anzeigt, mit der der Benutzer eine Schriftartenfamilie, -größe und -farbe auswählen kann:

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

public class FontDemo {

    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>

JavaDoc

Ausführliche Informationen finden Sie im JavaDoc für GraphicsEnvironment.getAvailableFontFamilyNames():

[GraphicsEnvironment.getAvailableFontFamilyNames()](https://docs.oracle.com /javase/7/docs/api/java/awt/GraphicsEnvironment.html#getAvailableFontFamilyNames())

Das obige ist der detaillierte Inhalt vonWie kann ich in Java auf Schriftarten, Größen und Stile zugreifen und diese bearbeiten?. 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