JavaTM 2 Platform
Standard Ed. 6

javax.swing.tree
類別 AbstractLayoutCache

java.lang.Object
  繼承者 javax.swing.tree.AbstractLayoutCache
所有已實作的介面:
RowMapper
直接已知子類別:
FixedHeightLayoutCache, VariableHeightLayoutCache

public abstract class AbstractLayoutCache
extends Object
implements RowMapper

警告:此類別的已序列化物件與以後的 Swing 版本不相容。當前的序列化支持適用於短期存儲或運行相同 Swing 版本的應用程序之間的 RMI。從 1.4 版本開始,已在 java.beans 套件中添加了支持所有 JavaBeansTM 長期存儲的功能。請參見 XMLEncoder


巢狀類別摘要
static class AbstractLayoutCache.NodeDimensions
          由 AbstractLayoutCache 使用,用於確定特定節點的大小和 x 原點。
 
欄位摘要
protected  AbstractLayoutCache.NodeDimensions nodeDimensions
          負責獲取節點大小的物件。
protected  boolean rootVisible
          如果顯示根節點,則為 True,如果其子節點是最高可視節點,則為 false。
protected  int rowHeight
          每行的高度。
protected  TreeModel treeModel
          提供資訊的模型。
protected  TreeSelectionModel treeSelectionModel
          選擇模型。
 
建構子摘要
AbstractLayoutCache()
           
 
方法摘要
abstract  Rectangle getBounds(TreePath path, Rectangle placeIn)
          返回一個矩形,該矩形給出了繪製路徑所需的 bounds。
abstract  boolean getExpandedState(TreePath path)
          如果路徑已擴展並且可視,則返回 true。
 TreeModel getModel()
          返回要提供資料的 TreeModel
 AbstractLayoutCache.NodeDimensions getNodeDimensions()
          返回呈現階層樹中節點的物件,它負責計算各個節點的尺寸。
protected  Rectangle getNodeDimensions(Object value, int row, int depth, boolean expanded, Rectangle placeIn)
          返回通過 placeIn 中的參考,表示 value 所需的大小。
abstract  TreePath getPathClosestTo(int x, int y)
          返回最接近 x,y 節點的路徑。
abstract  TreePath getPathForRow(int row)
          返回傳入行的路徑。
 int getPreferredHeight()
          返回首選高度。
 int getPreferredWidth(Rectangle bounds)
          返回傳入區域的首選寬度。
abstract  int getRowCount()
          顯示的行數。
abstract  int getRowForPath(TreePath path)
          返回其路徑中標識的最後一項可視的行。
 int getRowHeight()
          返回每行高度。
 int[] getRowsForPaths(TreePath[] paths)
          返回在其中顯示 pathTreePath 實例的行。
 TreeSelectionModel getSelectionModel()
          返回用於維護該選擇的模型。
abstract  int getVisibleChildCount(TreePath path)
          返回行的可視子節點數。
abstract  Enumeration<TreePath> getVisiblePathsFrom(TreePath path)
          返回一個 Enumerator,它列舉從傳入位置開始的可視路徑的增量。
abstract  void invalidatePathBounds(TreePath path)
          指示 LayoutCachepath 的邊界無效,需要進行更新。
abstract  void invalidateSizes()
          通知 TreeState 需要重新計算它參考的所有大小。
abstract  boolean isExpanded(TreePath path)
          如果當前擴展了由行標識的值,則返回 true。
protected  boolean isFixedRowHeight()
          如果每行的高度為固定大小,則返回 true。
 boolean isRootVisible()
          如果顯示階層樹的根節點,則返回 true。
abstract  void setExpandedState(TreePath path, boolean isExpanded)
          將路徑 path 的已擴展狀態標記為 isExpanded
 void setModel(TreeModel newModel)
          設置將提供資料的 TreeModel
 void setNodeDimensions(AbstractLayoutCache.NodeDimensions nd)
          設置負責繪製階層樹中節點的 renderer,因此,它還負責計算各個節點的尺寸。
 void setRootVisible(boolean rootVisible)
          確定 TreeModel 的根節點是否可視。
 void setRowHeight(int rowHeight)
          設置每個單元的高度。
 void setSelectionModel(TreeSelectionModel newLSM)
          將用於管理選擇的 TreeSelectionModel 設置為新的 LSM。
abstract  void treeNodesChanged(TreeModelEvent e)
           在某個節點(或一組兄弟節點)以某種方式更改後進行調用。
abstract  void treeNodesInserted(TreeModelEvent e)
          將節點插入階層樹之後進行調用。
abstract  void treeNodesRemoved(TreeModelEvent e)
          將節點從階層樹移除之後進行調用。
abstract  void treeStructureChanged(TreeModelEvent e)
          階層樹徹底更改給定節點以下的結構之後進行調用。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

欄位詳細資訊

nodeDimensions

protected AbstractLayoutCache.NodeDimensions nodeDimensions
負責獲取節點大小的物件。


treeModel

protected TreeModel treeModel
提供資訊的模型。


treeSelectionModel

protected TreeSelectionModel treeSelectionModel
選擇模型。


rootVisible

protected boolean rootVisible
如果顯示根節點,則為 True,如果其子節點是最高可視節點,則為 false。


rowHeight

protected int rowHeight
每行的高度。如果高度 <= 0,則使用 renderer 來確定每行高度。

建構子詳細資訊

AbstractLayoutCache

public AbstractLayoutCache()
方法詳細資訊

setNodeDimensions

public void setNodeDimensions(AbstractLayoutCache.NodeDimensions nd)
設置負責繪製階層樹中節點的 renderer,因此,它還負責計算各個節點的尺寸。

參數:
nd - NodeDimensions 物件

getNodeDimensions

public AbstractLayoutCache.NodeDimensions getNodeDimensions()
返回呈現階層樹中節點的物件,它負責計算各個節點的尺寸。

返回:
NodeDimensions 物件

setModel

public void setModel(TreeModel newModel)
設置將提供資料的 TreeModel

參數:
newModel - 將提供資料的 TreeModel

getModel

public TreeModel getModel()
返回要提供資料的 TreeModel

返回:
要提供資料的 TreeModel

setRootVisible

public void setRootVisible(boolean rootVisible)
確定 TreeModel 的根節點是否可視。

參數:
rootVisible - 如果要顯示階層樹的根節點,則為 true
另請參見:
rootVisible

isRootVisible

public boolean isRootVisible()
如果顯示階層樹的根節點,則返回 true。

返回:
如果顯示階層樹的根節點,則返回 true
另請參見:
rootVisible

setRowHeight

public void setRowHeight(int rowHeight)
設置每個單元的高度。如果指定值小於或等於零,則查詢當前單元 renderer,以獲取每行高度。

參數:
rowHeight - 每個單元的高度(以像素為單位)

getRowHeight

public int getRowHeight()
返回每行高度。如果返回值小於或等於 0,則每行的高度由 renderer 確定。


setSelectionModel

public void setSelectionModel(TreeSelectionModel newLSM)
將用於管理選擇的 TreeSelectionModel 設置為新的 LSM。

參數:
newLSM - 新的 TreeSelectionModel

getSelectionModel

public TreeSelectionModel getSelectionModel()
返回用於維護該選擇的模型。

返回:
treeSelectionModel

getPreferredHeight

public int getPreferredHeight()
返回首選高度。

返回:
首選高度

getPreferredWidth

public int getPreferredWidth(Rectangle bounds)
返回傳入區域的首選寬度。該區域由最接近 (bounds.x, bounds.y) 的路徑定義,並在 bounds.height + bounds.y 結束。如果 boundsnull,則返回所有節點的首選寬度(這可能是開銷很大的計算)。

參數:
bounds - 被查詢的區域
返回:
傳入區域的首選寬度

isExpanded

public abstract boolean isExpanded(TreePath path)
如果當前擴展了由行標識的值,則返回 true。


getBounds

public abstract Rectangle getBounds(TreePath path,
                                    Rectangle placeIn)
返回一個矩形,該矩形給出了繪製路徑所需的 bounds。

參數:
path - 指定節點的 TreePath
placeIn - 提供可用空間的 Rectangle 物件
返回:
指定要使用的空間的 Rectangle 物件

getPathForRow

public abstract TreePath getPathForRow(int row)
返回傳入行的路徑。如果該行不可視,則返回 null

參數:
row - 查詢的行
返回:
給定的行的 TreePath

getRowForPath

public abstract int getRowForPath(TreePath path)
返回其路徑中標識的最後一項可視的行。如果路徑中任何元素當前不可視,則返回 -1。

參數:
path - 查詢的 TreePath
返回:
路徑中最後一項可視的行,如果路徑中任何元素當前不可視,則返回 -1

getPathClosestTo

public abstract TreePath getPathClosestTo(int x,
                                          int y)
返回最接近 x,y 節點的路徑。如果當前不存在任何可視內容,則返回 null,否則,始終返回一個有效路徑。如果需要測試返回的物件是否正好位於 x, y,您應獲取返回路徑的 bounds,並根據它測試 x, y。

參數:
x - 所需位置的水平元件
y - 所需位置的垂直元件
返回:
最接近指定點的 TreePath

getVisiblePathsFrom

public abstract Enumeration<TreePath> getVisiblePathsFrom(TreePath path)
返回一個 Enumerator,它列舉從傳入位置開始的可視路徑的增量。該列舉的排序取決於路徑顯示的方式。如果所返回列舉的第一個元素是可視的,則它是路徑,如果第一個元素是不可視的,將返回 null

參數:
path - 列舉的起始位置
返回:
在所需位置開始的 Enumerator

getVisibleChildCount

public abstract int getVisibleChildCount(TreePath path)
返回行的可視子節點數。

參數:
path - 正被查詢的路徑
返回:
指定路徑的可視子節點數

setExpandedState

public abstract void setExpandedState(TreePath path,
                                      boolean isExpanded)
將路徑 path 的已擴展狀態標記為 isExpanded

參數:
path - 正在被擴展或折疊的路徑
isExpanded - 如果應該擴展路徑,則為 true,否則為 false

getExpandedState

public abstract boolean getExpandedState(TreePath path)
如果路徑已擴展並且可視,則返回 true。

參數:
path - 正在被查詢的路徑
返回:
如果路徑已擴展並且可視,則返回 true,否則返回 false

getRowCount

public abstract int getRowCount()
顯示的行數。

返回:
顯示的行數

invalidateSizes

public abstract void invalidateSizes()
通知 TreeState 需要重新計算它參考的所有大小。


invalidatePathBounds

public abstract void invalidatePathBounds(TreePath path)
指示 LayoutCachepath 的邊界無效,需要進行更新。

參數:
path - 正在被更新的路徑

treeNodesChanged

public abstract void treeNodesChanged(TreeModelEvent e)

在某個節點(或一組兄弟節點)以某種方式更改後進行調用。節點沒有更改在階層樹中的位置,也沒有改變他們的子節點的陣列,但是其他屬性已更改,並且可能影響表示形式。範例:檔案的名稱已更改,但是它仍然位於檔案系統中的同一位置。

e.path() 返回已更改節點的父節點的路徑。

e.childIndices() 返回更改節點的索引。

參數:
e - TreeModelEvent

treeNodesInserted

public abstract void treeNodesInserted(TreeModelEvent e)

將節點插入階層樹之後進行調用。

e.path() 返回新節點的父節點

e.childIndices() 按升序返回新節點的索引。

參數:
e - TreeModelEvent

treeNodesRemoved

public abstract void treeNodesRemoved(TreeModelEvent e)

將節點從階層樹移除之後進行調用。注意,如果從該階層樹移除子階層樹,則對於移除的子階層樹的根而言,此方法僅調用一次,而對於移除的每個兄弟子階層樹集而言,則不是一次。

e.path() 返回節點在刪除之前的父節點。

e.childIndices() 返回節點按升序刪除之前的索引。

參數:
e - TreeModelEvent

treeStructureChanged

public abstract void treeStructureChanged(TreeModelEvent e)

階層樹徹底更改給定節點以下的結構之後進行調用。如果 e.getPath() 返回的路徑長度為一,並且第一個元素不標識當前的根節點,則第一個元素應成為階層樹的新根。

e.path() 保持節點的路徑。

e.childIndices() 返回 null。

參數:
e - TreeModelEvent

getRowsForPaths

public int[] getRowsForPaths(TreePath[] paths)
返回在其中顯示 pathTreePath 實例的行。此方法應返回與傳入陣列長度相同的陣列,如果 path 中的某個 TreePaths 無效,則應將它在該陣列中的條目設置為 -1。

指定者:
介面 RowMapper 中的 getRowsForPaths
參數:
paths - 正被查詢的 TreePath 的陣列
返回:
傳入的同一長度的陣列,包含在其中顯示每個 TreePath 的每個相應行;如果 pathsnull,則返回 null

getNodeDimensions

protected Rectangle getNodeDimensions(Object value,
                                      int row,
                                      int depth,
                                      boolean expanded,
                                      Rectangle placeIn)
返回通過 placeIn 中的參考,表示 value 所需的大小。如果 inPlacenull,則應返回新創建的 Rectangle,否則將該值放置在 inPlace 中,並返回它。如果不存在 renderer,這將返回 null

參數:
value - 要表示的 value
row - 查詢的行
depth - 行的深度
expanded - 如果行已擴展,則為 true,否則為 false
placeIn - 套件含表示 value 所需大小的 Rectangle
返回:
包含節點尺寸的 Rectangle,如果節點沒有尺寸,則返回 null

isFixedRowHeight

protected boolean isFixedRowHeight()
如果每行的高度為固定大小,則返回 true。


JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

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