|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
public interface UIResource
ComponentUI の委譲によって作成されたオブジェクトをマークするために使用されます。ComponentUI.installUI() メソッドおよび ComponentUI.uninstallUI() メソッドは、このインタフェースを使って、プロパティの値がオーバーライドされたかどうかを判定することができます。たとえば、JList の cellRenderer プロパティは、その初期値が null の場合に限り BasicListUI.installUI() によって初期化されます。
if (list.getCellRenderer() == null) {
list.setCellRenderer((ListCellRenderer)(UIManager.get("List.cellRenderer")));
}
uninstallUI() のときに、プロパティの値が UIResource のインスタンスである場合は、プロパティを null にリセットします。
if (list.getCellRenderer() instanceof UIResource) {
list.setCellRenderer(null);
}
このパターンは、java.awt.Component のプロパティのフォント、フォアグラウンド、およびバックグラウンド以外のすべてのプロパティに適用されます。もし、これらのプロパティのうちの 1 つが初期化されていない場合、あるいは明示的に null に設定されている場合には、そのコンテナが値を提供します。こうした理由により、コンポーネントの Look & Feel を動的に変更するために installUI() が呼び出された場合、"== null" を信頼することはできません。したがって、installUI() 実行時には、現在の値が UIResource であるかどうかを調べます。
if (!(list.getFont() instanceof UIResource)) { list.setFont(UIManager.getFont("List.font"));
}
ComponentUI
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。