JavaTM 2 Platform
Standard Ed. 5.0

javax.swing.plaf
インタフェース UIResource

既知の実装クラスの一覧:
ActionMapUIResource, BasicBorders.ButtonBorder, BasicBorders.FieldBorder, BasicBorders.MarginBorder, BasicBorders.MenuBarBorder, BasicBorders.RadioButtonBorder, BasicBorders.RolloverButtonBorder, BasicBorders.SplitPaneBorder, BasicBorders.ToggleButtonBorder, BasicComboBoxEditor.UIResource, BasicComboBoxRenderer.UIResource, BasicTextUI.BasicCaret, BasicTextUI.BasicHighlighter, BorderUIResource, BorderUIResource.BevelBorderUIResource, BorderUIResource.CompoundBorderUIResource, BorderUIResource.EmptyBorderUIResource, BorderUIResource.EtchedBorderUIResource, BorderUIResource.LineBorderUIResource, BorderUIResource.MatteBorderUIResource, BorderUIResource.TitledBorderUIResource, ColorUIResource, ComponentInputMapUIResource, DefaultListCellRenderer.UIResource, DefaultMenuLayout, DefaultTableCellRenderer.UIResource, DimensionUIResource, FontUIResource, IconUIResource, InputMapUIResource, InsetsUIResource, JScrollPane.ScrollBar, MetalBorders.ButtonBorder, MetalBorders.Flush3DBorder, MetalBorders.InternalFrameBorder, MetalBorders.MenuBarBorder, MetalBorders.MenuItemBorder, MetalBorders.OptionDialogBorder, MetalBorders.PaletteBorder, MetalBorders.PopupMenuBorder, MetalBorders.RolloverButtonBorder, MetalBorders.ScrollPaneBorder, MetalBorders.TextFieldBorder, MetalBorders.ToggleButtonBorder, MetalBorders.ToolBarBorder, MetalCheckBoxIcon, MetalComboBoxEditor.UIResource, MetalIconFactory.PaletteCloseIcon, ScrollPaneLayout.UIResource

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

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。