javax.swing.tree

接口
异常
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。