jgoodies の looks の文字化け対策

いきなり java の話題というのも何だが、Java の Swing の LookAndFeel でとても綺麗なものとして http://www.jgoodies.com/freeware/looks/index.html というのがある。looks ではテーマが選べるのだが、ほとんどのテーマでフォントが "Tahoma" に固定されてしまっているので日本語が文字化けする点が残念だ。

こちら(http://www3.vis.ne.jp/~asaki/p_diary/diary.cgi?Date=2005-01-05)でも問題が出ている。SkyBluer テーマを選択してやれば良いようだが、他のテーマを使いたい場合でも com.jgoodies.looks.plastic.theme のテーマのどれかを継承してフォントを返すようにすれば OK。こんなんで◎。

// MyPlasticTheme.java

public class MyPlasticTheme extends SkyBluerTahoma {
    @Override protected Font getFont0(int size) {
        if (LookUtils.IS_OS_MAC) {
            return super.getFont0();
        }
        return new Font("dialog", Font.PLAIN, size);
    }
}

で、テーマを選ぶ。

PlasticLookAndFeel.setMyCurrentTheme(new MyPlasticTheme());
UIManager.setLookAndFeel(new PlasticLookAndFeel());

Windows のフォントリンク機能が Java からでも使えれば良かったんだが。