JavaTM 2 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 外觀實作。

MetalTreeUI 允許配置如何在視覺上呈現節點之間的間隔和描繪。支持以下提示:

Angled

繪製一條連接子節點和父節點的線。關於如何處理根節點,請參閱 JTree.setRootVisible(boolean)JTree.setShowsRootHandles(boolean)

Horizontal

繪製用來分隔根節點的子節點的一條水平線。

None

不在節點間繪製任何可見的指示。

因為通常無法從 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)
          此方法進行傳入客戶端屬性中的字元串和內部表示形式(當前的並且用 int 值表示)之間的轉換
protected  int getHorizontalLegBuffer()
          預設情況下,節點間支路的水平元素開始於子節點左側的右邊。
 void installUI(JComponent c)
          配置指定元件,使其適合外觀。
protected  boolean isLocationInExpandControl(int row, int rowLevel, int mouseX, int mouseY)
           
 void paint(Graphics g, JComponent c)
          繪製指定元件,使其適合外觀。
protected  void paintHorizontalPartOfLeg(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf)
          繪製支路 (leg) 的水平部分。
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 複製的描述
預設情況下,節點間支路的水平元素開始於子節點左側的右邊。此方法能讓支路在該位置以前結束。

覆寫:
類別 BasicTreeUI 中的 getHorizontalLegBuffer

installUI

public void installUI(JComponent c)
從類別 ComponentUI 複製的描述
配置指定元件,使其適合外觀。當 ComponentUI 實例將作為 UI 委託安裝在指定元件上時,可調用此方法。此方法應該為外觀完整地配置元件,包括以下方面:
  1. 在元件上安裝用於顏色、字體、邊框、圖標、不透明性等方面的所有預設屬性值。只要有可能,就 應該覆寫由客戶端程序初始化的屬性值。
  2. 如有必要,可在元件上安裝一個 LayoutManager
  3. 將所需的所有子元件創建/添加到元件中。
  4. 在元件上創建/安裝事件偵聽器。
  5. 為了檢測和適當回應元件屬性更改,可在元件上創建/安裝一個 PropertyChangeListener
  6. 在元件上安裝鍵盤 UI(助記符、遍歷等等)。
  7. 初始化任何適當的實例資料。

覆寫:
類別 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 期間,在指定元件上反向執行的配置操作。當此 UIComponent 實例將作為 UI 委託從指定元件上移除時,可調用此方法。此方法應該取消在 installUI 中執行的配置操作,非常小心地使 JComponent 實例處於某種潔淨狀態(沒有額外的偵聽器、沒有特定於外觀的屬性物件等等)。配置內容應該套件括以下方面:
  1. 從元件中移除所有 UI 設置的邊框。
  2. 從元件上移除所有 UI 設置的佈局管理器。
  3. 從元件中移除所有 UI 添加的子元件。
  4. 從元件中移除所有 UI 添加的事件/屬性偵聽器。
  5. 從元件中移除所有 UI 安裝的鍵盤 UI。
  6. 使所有已分派的實例資料物件無效,從而允許進行 GC 操作。

覆寫:
類別 BasicTreeUI 中的 uninstallUI
參數:
c - 從中移除此 UI 委託的元件;此參數常被忽略,但如果 UI 物件是無狀態的並由多個元件共享,則可以使用該參數
另請參見:
ComponentUI.installUI(javax.swing.JComponent), JComponent.updateUI()

decodeLineStyle

protected void decodeLineStyle(Object lineStyleFlag)
此方法進行傳入客戶端屬性中的字元串和內部表示形式(當前的並且用 int 值表示)之間的轉換


isLocationInExpandControl

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

paint

public void paint(Graphics g,
                  JComponent c)
從類別 ComponentUI 複製的描述
繪製指定元件,使其適合外觀。在將要繪製指定元件時,從 ComponentUI.update 方法中調用此方法。子類別應該覆寫此方法並使用指定 Graphics 物件來呈現元件的內容。

覆寫:
類別 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

覆寫:
類別 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 複製的描述
繪製支路 (leg) 的水平部分。接收者不應修改 clipBoundsinsets

註:如果階層樹不可見,則 parentRow 為 -1。

覆寫:
類別 BasicTreeUI 中的 paintHorizontalPartOfLeg

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only