public interface UIResource
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
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.