Maison >Java >javaDidacticiel >Comment accéder et manipuler les polices, les tailles et les styles en Java ?

Comment accéder et manipuler les polices, les tailles et les styles en Java ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-28 16:29:01592parcourir

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

Obtenir des polices, des tailles, des caractères gras et plus encore en Java

Accéder aux polices, tailles et couleurs prédéfinies dans un programme Java peut être difficile . Pour résoudre ce problème, explorons comment obtenir ces éléments efficacement.

GraphicsEnvironment

Pour récupérer les polices disponibles sur le système, utilisez la classe GraphicsEnvironment. Il fournit la méthode getAvailableFontFamilyNames(), qui renvoie un tableau de chaînes contenant les noms de toutes les familles de polices installées.

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

Rendu des polices

Une fois que vous avez la police noms, vous pouvez créer un objet police avec les attributs souhaités. Le constructeur Font prend trois paramètres : le nom de la police, le style et la taille. Par exemple, pour créer une police Arial avec une taille de 12 et un style gras, utilisez :

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

Tailles et styles

Contrairement aux polices, les tailles et les styles peuvent être définis dynamiquement au moment de l’exécution. Ils sont définis comme des constantes dans la classe Font, telles que Font.BOLD, Font.ITALIC et Font.PLAIN pour les styles, et Font.SIZE1, Font.SIZE2, etc. pour les tailles.

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

Exemple

L'extrait suivant montre un programme Java qui affiche un sélecteur de police permettant à l'utilisateur de sélectionner une famille, une taille et une couleur de police :

<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

Reportez-vous au JavaDoc pour GraphicsEnvironment.getAvailableFontFamilyNames() pour des informations détaillées :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn