javax.swing.JOptionPane で showMessageDialog() や showConfirmDialog() を呼び出して表示させたメッセージダイアログのフォントを、 JOptionPane.setFont(Font font) とかで変更できないときの方法。もしくは、Swing でデフォルトのフォントを変更してしまう方法。
UIManager.put("OptionPane.buttonFont", font); UIManager.put("OptionPane.font", font); UIManager.put("OptionPane.messageFont", font);
力業。デフォルトのフォントを変更することになるので、他のダイアログも影響を受ける。
UIManagerで、 UIManager.getDefaults().keys() を呼び出して得られる key の Enumeration を回して、 UIManager.get(key) で得られる Object value が instanceof java.awt.Font なら、 UIManager.put(key.toString(), font) とかやると、強引で素敵。
ソースで書くとこんな感じ。
Font font = new Font(hoge,hoge,hoge);
Enumeration<Object> enumeration = UIManager.getDefaults().keys();
while(enumeration.hasMoreElements()){Object key = enumeration.nextElement();}
Object value = UIManager.get(key);
if (value instanceof java.awt.Font){UIManager.put(key.toString(), font);}
Windows環境であることを確認した上で、"MS UI Gothic"に統一すると、ノスタルジックで良い。
コメントする
コメントしても反応がない場合は、気が付いてないだけですので、Twitterなどでつっついてください。