ホームページ  >  記事  >  Java  >  Java でフォント、サイズ、スタイルにアクセスして操作するにはどうすればよいですか?

Java でフォント、サイズ、スタイルにアクセスして操作するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-10-28 16:29:01483ブラウズ

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

Java でフォント、サイズ、太字などを取得する

Java プログラムで事前定義されたフォント、サイズ、色にアクセスするのは難しい場合があります。この問題を解決するために、これらの要素を効果的に取得する方法を検討してみましょう。

GraphicsEnvironment

システム上で使用可能なフォントを取得するには、GraphicsEnvironment クラスを使用します。これは、インストールされているすべてのフォント ファミリの名前を含む文字列配列を返す getAvailableFontFamilyNames() メソッドを提供します。

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

フォント レンダリング

フォントを取得したら名前を使用すると、必要な属性を持つフォント オブジェクトを作成できます。 Font コンストラクターは、フォント名、スタイル、サイズの 3 つのパラメーターを取ります。たとえば、サイズ 12 で太字スタイルの Arial フォントを作成するには、次のコマンドを使用します。

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

サイズとスタイル

フォントとは異なり、サイズとスタイルスタイルは実行時に動的に設定できます。これらは、スタイルの場合は Font.BOLD、Font.ITALIC、Font.PLAIN など、サイズの場合は Font.SIZE1、Font.SIZE2 など、Font クラスの定数として定義されます。

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

次のスニペットは、ユーザーがフォント ファミリ、サイズ、色を選択できるフォント チューザーを表示する Java プログラムを示しています。

<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

詳細については、GraphicsEnvironment.getAvailableFontFamilyNames() の JavaDoc を参照してください:

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

以上がJava でフォント、サイズ、スタイルにアクセスして操作するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。