Javaでフォントを表すのがjava.awt.Font。
ダイアログ以外のコンポーネントでの基本的なフォントはSerif(プロポーショナルフォント)なので、等幅にしたい場合はMonospacedを使う。
フォントインスタンスを作るには、フォント名(フォントファミリー名)とスタイルとサイズを指定する。
import java.awt.Font;
// Font font = new Font("Monospaced", 3, 12); Font font = new Font(Font.MONOSPACED, Font.BOLD | Font.ITALIC, 12);
フォント名は、Javaでは最低限以下のものが使える。(FontのJavadoc参照)
フォント名 | 定数(JDK1.6) | 備考 | |
---|---|---|---|
Serif | セリフ | Font.SERIF |
serif(明朝体相当) |
SansSerif | サンセリフ | Font.SANS_SERIF |
sans-serif(ゴシック体相当) |
Monospaced | モノスペース | Font.MONOSPACED |
等幅フォント。 全角文字の幅 = 半角文字の幅×2 |
Dialog | Font.DIALOG |
ダイアログでの表示に使われる。 | |
DialogInput | Font.DIALOG_INPUT |
ダイアログでの入力に使われる。 全角同士、半角同士では等幅っぽい。 |
フォントスタイルは、以下のものを論理和で組み合わせて指定する。
スタイル | 備考 | |
---|---|---|
Font.PLAIN |
0 | 特に何も無し |
Font.BOLD |
1 | 太字 |
Font.ITALIC |
2 | 斜体 |
実行環境で使用できるフォント名の一覧は、以下のようにして取得できる。
import java.awt.GraphicsEnvironment;
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); String[] fs = ge.getAvailableFontFamilyNames(); for (String name : fs) { System.out.println(name); }
コンポーネントへフォントを設定するには、Component#setFont()を使う。[2009-04-20]
Component c = 〜; c.setFont(new Font(Font.MONOSPACED, Font.PLAIN, 12));
ただし、コンポーネントの種類によっては、setFont()したフォントが有効でないものもある。