S-JIS[2009-04-19/2009-04-20] 変更履歴

Font(AWT)

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()したフォントが有効でないものもある。


Swing目次へ戻る / Java目次へ戻る
メールの送信先:ひしだま