これらのリソースのカスタマイズは、次のようにして行います:
UIManager.put(key, object);
例:
UIManager.put("Tree.openIcon", new ImageIcon("devil.gif"));
UIManager.put("OptionPane.okButtonText", "わかったよ");
keyは、"Tree.openIcon"のようなStringです。
objectで最も多いのは、ご覧のようにStringとColorUIResource(==Color)です。
[了解], [取消]などの無味乾燥で硬いお役所言葉を、[いいよ], [やめるよ]などに変えれば、あなたのソフトの好感度がぐっとアップするでしょう(?!?)。
●アプリケーション全体のリソースを変えるには:
[フォントの場合]
Font font = new Font(.....);
Enumeration enum = UIManager.getDefaults().keys();
while(enum.hasMoreElements()){
Object key = enum.nextElement();
Object value = UIManager.get(key);
if (value instanceof Font){
UIManager.put(key, font);
}
}
●特定のコンテナ内の全コンポーネントのリソースを変えるには:
[フォントの場合]
/* addImpl()をオーバライドしたコンテナクラスを作ります */
public class MyContainer extends JPanel{
Font font; //コンストラクタで設定、など
...
public void addImpl(Component comp, Object constraints, int index){
comp.setFont(font);
super.addImpl(comp, constraints, index);
}
...
}
|