ホームページ  >  記事  >  Java  >  Java アプリケーションで使用可能なフォントをプログラムで一覧表示し、プレビューするにはどうすればよいですか?

Java アプリケーションで使用可能なフォントをプログラムで一覧表示し、プレビューするにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-31 11:12:01946ブラウズ

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

フォントに関する情報の取得

Java では、GraphicsEnvironment クラスを通じてシステム フォントにアクセスできます。使用可能なすべてのフォント ファミリ名の配列を取得するには、次のコードを使用します。

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

フォント サイズとスタイルは実行時に動的に設定できます。次の例を考えてみましょう。これは、各フォントのプレビューを含むフォント選択ツールを表示します:

<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>

追加リソース

  • 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
  • フォント選択: https://docs.oracle.com/javase/tutorial/uiswing/components/combobox.html#font_fonts

以上がJava アプリケーションで使用可能なフォントをプログラムで一覧表示し、プレビューするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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