JavaTM Platform
Standard Ed. 6

javax.swing.plaf.metal
클래스 MetalTreeUI

java.lang.Object 
  상위를 확장 javax.swing.plaf.ComponentUI 
      상위를 확장 javax.swing.plaf.TreeUI 
          상위를 확장 javax.swing.plaf.basic.BasicTreeUI 
              상위를 확장 javax.swing.plaf.metal.MetalTreeUI


public class MetalTreeUI
extends BasicTreeUI

TreeUI 의 Metal Look & Feel 에 의한 구현입니다.

MetalTreeUI 가 노드간의 간격과 윤곽을 가시적으로 draw 하는 방법을 구성할 수 있도록(듯이) 합니다. 다음의 힌트를 지원합니다.

사선

아이와 부모를 연결하는 선이 그려진다. 루트 노드의 처리에 대해서는,JTree.setRootVisible(boolean)JTree.setShowsRootHandles(boolean) 를 참조

수평선

루트 노드의 아이를 구분하는 수평선이 그려진다

선없음

노드간에 시각적인 지시를 주는 선을 그리지 않는다

일반적으로,JTree 로부터 TreeUI 를 취득해 MetalTreeUI 의 인스턴스에 캐스트 하는 것은 실제적인 방법은 아니기 때문에, 클라이언트 프로퍼티 JTree.lineStyle 를 사용해 이 프로퍼티을 유효하게 합니다. 예를 들어,Horizontal 스타일로 전환하려면 ,tree.putClientProperty("JTree.lineStyle", "Horizontal"); 를 실행합니다. 디폴트는 Angled 입니다.


상자의 클래스의 개요
 
클래스 javax.swing.plaf.basic. BasicTreeUI 로부터 상속된 상자의 클래스/인터페이스
BasicTreeUI.CellEditorHandler , BasicTreeUI.ComponentHandler , BasicTreeUI.FocusHandler , BasicTreeUI.KeyHandler , BasicTreeUI.MouseHandler , BasicTreeUI.MouseInputHandler , BasicTreeUI.NodeDimensionsHandler , BasicTreeUI.PropertyChangeHandler , BasicTreeUI.SelectionModelPropertyChangeHandler , BasicTreeUI.TreeCancelEditingAction , BasicTreeUI.TreeExpansionHandler , BasicTreeUI.TreeHomeAction , BasicTreeUI.TreeIncrementAction , BasicTreeUI.TreeModelHandler , BasicTreeUI.TreePageAction , BasicTreeUI.TreeSelectionHandler , BasicTreeUI.TreeToggleAction , BasicTreeUI.TreeTraverseAction
 
필드의 개요
 
클래스 javax.swing.plaf.basic. BasicTreeUI 로부터 상속된 필드
cellEditor , collapsedIcon , createdCellEditor , createdRenderer , currentCellRenderer , depthOffset , drawingCache , editingComponent , editingPath , editingRow , editorHasDifferentSize , expandedIcon , largeModel , lastSelectedRow , leftChildIndent , nodeDimensions , preferredMinSize , preferredSize , rendererPane , rightChildIndent , stopEditingInCompleteEditing , totalChildIndent , tree , treeModel , treeSelectionModel , treeState , validCachedPreferredSize
 
생성자 의 개요
MetalTreeUI ()
           
 
메소드의 개요
static ComponentUI createUI (JComponent  x)
           
protected  void decodeLineStyle (Object  lineStyleFlag)
          클라이언트 프로퍼티에게 건네진 캐릭터 라인과 내부 표현 (currently 및 int)과의 사이의 변환을 실시합니다.
protected  int getHorizontalLegBuffer ()
          노드간의 다리의 수평 요소는, 디폴트에서는 자식(child) 노드의 좌측의 오른쪽에서 시작됩니다.
 void installUI (JComponent  c)
          Look & Feel 에 적절한, 지정된 컴퍼넌트를 구성합니다.
protected  boolean isLocationInExpandControl (int row, int rowLevel, int mouseX, int mouseY)
           
 void paint (Graphics  g, JComponent  c)
          Look &Feel 에 적절한, 지정된 컴퍼넌트를 그립니다.
protected  void paintHorizontalPartOfLeg (Graphics  g, Rectangle  clipBounds, Insets  insets, Rectangle  bounds, TreePath  path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf)
          다리의 수평 부분을 그립니다.
protected  void paintHorizontalSeparators (Graphics  g, JComponent  c)
           
protected  void paintVerticalPartOfLeg (Graphics  g, Rectangle  clipBounds, Insets  insets, TreePath  path)
          다리의 수직 부분을 그립니다.
 void uninstallUI (JComponent  c)
          installUI 시에, 지정된 컴퍼넌트로 구성된 내용을 취소합니다.
 
클래스 javax.swing.plaf.basic. BasicTreeUI 로부터 상속된 메소드
cancelEditing , checkForClickInExpandControl , completeEditing , completeEditing , completeUIInstall , completeUIUninstall , configureLayoutCache , createCellEditorListener , createCellRendererPane , createComponentListener , createDefaultCellEditor , createDefaultCellRenderer , createFocusListener , createKeyListener , createLayoutCache , createMouseListener , createNodeDimensions , createPropertyChangeListener , createSelectionModelPropertyChangeListener , createTreeExpansionListener , createTreeModelListener , createTreeSelectionListener , drawCentered , drawDashedHorizontalLine , drawDashedVerticalLine , ensureRowsAreVisible , getBaseline , getBaselineResizeBehavior , getCellEditor , getCellRenderer , getClosestPathForLocation , getCollapsedIcon , getEditingPath , getExpandedIcon , getHashColor , getLastChildPath , getLeftChildIndent , getMaximumSize , getMinimumSize , getModel , getPathBounds , getPathForRow , getPreferredMinSize , getPreferredSize , getPreferredSize , getRightChildIndent , getRowCount , getRowForPath , getRowHeight , getRowX , getSelectionModel , getShowsRootHandles , getVerticalLegBuffer , handleExpandControlClick , installComponents , installDefaults , installKeyboardActions , installListeners , isEditable , isEditing , isLargeModel , isLeaf , isLocationInExpandControl , isMultiSelectEvent , isRootVisible , isToggleEvent , isToggleSelectionEvent , paintExpandControl , paintHorizontalLine , paintRow , paintVerticalLine , pathWasCollapsed , pathWasExpanded , prepareForUIInstall , prepareForUIUninstall , selectPathForEvent , setCellEditor , setCellRenderer , setCollapsedIcon , setEditable , setExpandedIcon , setHashColor , setLargeModel , setLeftChildIndent , setModel , setPreferredMinSize , setRightChildIndent , setRootVisible , setRowHeight , setSelectionModel , setShowsRootHandles , shouldPaintExpandControl , startEditing , startEditingAtPath , stopEditing , toggleExpandState , uninstallComponents , uninstallDefaults , uninstallKeyboardActions , uninstallListeners , updateCachedPreferredSize , updateCellEditor , updateDepthOffset , updateExpandedDescendants , updateLayoutCacheExpandedNodes , updateRenderer , updateSize
 
클래스 javax.swing.plaf. ComponentUI 로부터 상속된 메소드
contains , getAccessibleChild , getAccessibleChildrenCount , update
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

MetalTreeUI

public MetalTreeUI()
메소드의 상세

createUI

public static ComponentUI  createUI(JComponent  x)

getHorizontalLegBuffer

protected int getHorizontalLegBuffer()
클래스 BasicTreeUI 의 기술:
노드간의 다리의 수평 요소는, 디폴트에서는 자식(child) 노드의 좌측의 오른쪽에서 시작됩니다. 이 메소드는, 다리가 그것보다 전으로 끝나도록(듯이) 합니다.

오버라이드(override):
클래스 BasicTreeUI 내의 getHorizontalLegBuffer

installUI

public void installUI(JComponent  c)
클래스 ComponentUI 의 기술:
Look & Feel 에 적절한, 지정된 컴퍼넌트를 구성합니다. 이 메소드는,ComponentUI 인스턴스가, 지정된 컴퍼넌트의 UI 위양으로서 인스톨 되고 있을 때 불려 갑니다. 이 메소드는, 이하를 포함한 Look & Feel 용의 컴퍼넌트를 완전하게 구성할 필요가 있습니다.
  1. 칼라, 폰트, 경계, 아이콘, 불투명함 등 모든 디폴트 프로퍼티의 값을 컴퍼넌트에 인스톨 한다. 가능한 경우는, 클라이언트 프로그램에 의해 초기화된 프로퍼티의 값을 오버라이드(override) 해서는 안 된다
  2. 필요에 따라서, 컴퍼넌트에 LayoutManager 를 인스톨 한다
  3. 필요한 서브 컴퍼넌트를, 컴퍼넌트에 작성 또는 추가한다
  4. 이벤트 청취자를, 컴퍼넌트에 작성 또는 인스톨 한다
  5. 컴퍼넌트의 프로퍼티의 변경을 적절히 검출해, 응답하기 위해서,PropertyChangeListener 를 컴퍼넌트에 작성 또는 인스톨 한다
  6. 키보드 UI (니마닉(mnemonic), traversal등)를, 컴퍼넌트에 인스톨 한다
  7. 적절한 인스턴스의 데이터를 초기화한다

오버라이드(override):
클래스 BasicTreeUI 내의 installUI
파라미터:
c - UI 위양이 인스톨 되고 있는 컴퍼넌트
관련 항목:
ComponentUI.uninstallUI(javax.swing.JComponent) , JComponent.setUI(javax.swing.plaf.ComponentUI) , JComponent.updateUI()

uninstallUI

public void uninstallUI(JComponent  c)
클래스 ComponentUI 의 기술:
installUI 시에, 지정된 컴퍼넌트로 구성된 내용을 취소합니다. 이 메소드는, 지정된 컴퍼넌트의 UI 위양으로서의 UIComponent 인스턴스가 삭제되고 있을 때 불려 갑니다. 이 메소드는,installUI 에 의해 실행된 구성을 바탕으로 되돌릴 필요가 있습니다. 이 경우,JComponent 인스턴스를 깨끗한 상태 (여분의 청취자나, Look & Feel 고유의 프로퍼티 객체가 남지 않게)로 하도록(듯이) 충분히 주의해 주세요. 순서에는 다음의 것이 있습니다.
  1. UI 로서 설정된 모든 경계를, 컴퍼넌트로부터 삭제한다
  2. UI 로서 설정된 모든 레이아웃 매니저를, 컴퍼넌트로부터 삭제한다
  3. UI 로서 추가된 모든 서브 컴퍼넌트를, 컴퍼넌트로부터 삭제한다
  4. UI 로서 추가된 모든 이벤트/청취자를, 컴퍼넌트로부터 삭제한다
  5. UI 로서 인스톨 된 모든 키보드 UI 를, 컴퍼넌트로부터 삭제한다
  6. GC 용으로 할당할 수 있던 모든 인스턴스의 데이터 객체를 무효로 한다

오버라이드(override):
클래스 BasicTreeUI 내의 uninstallUI
파라미터:
c - 이 UI 위양을 삭제하는 컴퍼넌트. 이 인수는 일반적으로 무시되지만, UI 객체에 상태가 없고, 복수의 컴퍼넌트에 공유되고 있는 경우는 사용되는 일이 있는
관련 항목:
ComponentUI.installUI(javax.swing.JComponent) , JComponent.updateUI()

decodeLineStyle

protected void decodeLineStyle(Object  lineStyleFlag)
클라이언트 프로퍼티에게 건네진 캐릭터 라인과 내부 표현 (currently 및 int)과의 사이의 변환을 실시합니다.


isLocationInExpandControl

protected boolean isLocationInExpandControl(int row,
                                            int rowLevel,
                                            int mouseX,
                                            int mouseY)

paint

public void paint(Graphics  g,
                  JComponent  c)
클래스 ComponentUI 의 기술:
Look &Feel 에 적절한, 지정된 컴퍼넌트를 그립니다. 이 메소드는 ComponentUI.update 메소드로부터, 지정된 컴퍼넌트가 페인트 될 때 불려 갑니다. 서브 클래스는, 이 메소드를 오버라이드(override) 해, 지정된 Graphics 객체를 사용해 컴퍼넌트의 내용을 draw 할 필요가 있습니다.

오버라이드(override):
클래스 BasicTreeUI 내의 paint
파라미터:
g - 페인트 대상의 Graphics 문맥
c - 페인트 되는 컴퍼넌트. 이 인수는 일반적으로 무시되지만, UI 객체에 상태가 없고, 복수의 컴퍼넌트에 공유되고 있는 경우는 사용되는 일이 있는
관련 항목:
ComponentUI.update(java.awt.Graphics, javax.swing.JComponent)

paintHorizontalSeparators

protected void paintHorizontalSeparators(Graphics  g,
                                         JComponent  c)

paintVerticalPartOfLeg

protected void paintVerticalPartOfLeg(Graphics  g,
                                      Rectangle  clipBounds,
                                      Insets  insets,
                                      TreePath  path)
클래스 BasicTreeUI 의 기술:
다리의 수직 부분을 그립니다. 리시버는,clipBoundsinsets 를 변경하는 것은 용서되지 않습니다.

오버라이드(override):
클래스 BasicTreeUI 내의 paintVerticalPartOfLeg

paintHorizontalPartOfLeg

protected void paintHorizontalPartOfLeg(Graphics  g,
                                        Rectangle  clipBounds,
                                        Insets  insets,
                                        Rectangle  bounds,
                                        TreePath  path,
                                        int row,
                                        boolean isExpanded,
                                        boolean hasBeenExpanded,
                                        boolean isLeaf)
클래스 BasicTreeUI 의 기술:
다리의 수평 부분을 그립니다. 리시버는,clipBoundsinsets 를 변경하는 것은 용서되지 않습니다.

주:루트가 가시가 아닌 경우,parentRow 는 -1 이 되는 일이 있습니다.

오버라이드(override):
클래스 BasicTreeUI 내의 paintHorizontalPartOfLeg

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 도 참조해 주세요.