JavaTM Platform
Standard Ed. 6

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() 메소드는, 이 인터페이스를 사용해, 프로퍼티의 값이 오버라이드(override) 되었는지의 여부를 판정할 수가 있습니다. 예를 들어, 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 의 프로퍼티의 폰트, foreground, 및 백그라운드 이외의 모든 프로퍼티에 적용됩니다. 만약, 이러한 프로퍼티 가운데 1 개가 초기화되어 있지 않은 경우, 혹은 명시적으로 null 로 설정되어 있는 경우에는, 그 컨테이너가 값을 제공합니다. 이러한 이유에 의해, 컴퍼넌트의 Look & Feel 를 동적으로 변경하기 위해서 installUI()가 불려 갔을 경우,"== null" 를 신뢰할 수 없습니다. 따라서, installUI() 실행시에는, 현재의 값이 UIResource 일지 어떨지를 조사합니다.
 if (! (list.getFont() instanceof UIResource)) {
     list.setFont(UIManager.getFont("List.font"));
 }
 

관련 항목:
ComponentUI


JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.