こんなに簡単!JavaでFont一覧を表示

Javaでプラットフォームで利用可能なFont一覧を表示するには、GraphicsEnvironment#getAllFontsメソッドを使います。すると、Fontオブジェクトのリストが手に入ります。ちなみに、Javaでは、physicalフォントとlogicalフォントを扱えます。


Fontクラスにはいくつかのメソッドがありますが、フォント名を取得するには3つのメソッドがあります。これらのメソッドの違いは知っておいた方が良いでしょう。

  • Font#getFontNameメソッド … フォントフェース名取得
  • Font#getFamilyメソッド … フォントファミリー名取得
  • Font#getNameメソッド … 論理名取得

コンソール画面へ一覧を表示するクラスは次のようになります。

package org.sssg.soft.sample.fontlist;

import java.awt.Font;
import java.awt.GraphicsEnvironment;
import java.util.Arrays;
import java.util.List;

public class FontList {
  final private List<Font> values;

  public FontList() {
    GraphicsEnvironment genv = GraphicsEnvironment
        .getLocalGraphicsEnvironment();
    Font[] font = genv.getAllFonts();
    values = Arrays.asList(font);
  }

  public void exec() {
    for (Font font : values) {
      System.out.println(getLabel(font));
    }
  }
  
  public List<Font> getValues() {
    return values;
  }
  
  public String getLabel(Font font) {
    String s = font.getName();
    if (!font.getName().equals(font.getFontName())) {
      s = s + " [" + font.getFontName() + "]";
    }
    return s;
  }

  public static void main(String[] args) {
    FontList app = new FontList();
    app.exec();
  }
}

簡単ですね!

同じタグの記事: Font
同じタグの記事: Java
同じカテゴリの記事: Java
関連書籍: Java