Swing(Nimbus)のフォントを変更する
デフォルトのフォントが小さく、明朝体なので大きなゴシック体にしたいと思い探し回ったのだが、どうにもうまく行かない。別にプログラム実行中に変えたいわけではなく、初期値として与えたいのだが、それもだめだ。主にボタンやラベルのフォントがそのままになってしまう。
うまく行ったのは、以下の8番の回答だ。
こんな感じになる。
Font font = new Font("メイリオ", Font.BOLD, 30);
UIManager.setLookAndFeel(new NimbusLookAndFeel() {
@Override
public UIDefaults getDefaults() {
UIDefaults ret = super.getDefaults();
ret.put("defaultFont", font);
return ret;
}
});
この方法は他のUIにも有効のようだ。Web Look and Feelなどは日本語が表示されていなかったのだが、正常に表示されるようになった。
ついでにアンチエイリアスが効いてないので、以下も入れる。
System.setProperty("awt.useSystemAAFontSettings","on");
System.setProperty("swing.aatext", "true");