java.lang.Object javax.swing.tree.AbstractLayoutCache
警告:此类的已序列化对象与以后的 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) 返回在其中显示 path 中 TreePath 实例的行。 |
TreeSelectionModel |
getSelectionModel() 返回用于维护该选择的模型。 |
abstract int |
getVisibleChildCount(TreePath path) 返回行的可视子节点数。 |
abstract Enumeration<TreePath> |
getVisiblePathsFrom(TreePath path) 返回一个 Enumerator ,它列举从传入位置开始的可视路径的增量。 |
abstract void |
invalidatePathBounds(TreePath path) 指示 LayoutCache ,path 的边界无效,需要进行更新。 |
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 |
字段详细信息 |
---|
protected AbstractLayoutCache.NodeDimensions nodeDimensions
protected TreeModel treeModel
protected TreeSelectionModel treeSelectionModel
protected boolean rootVisible
protected int rowHeight
构造方法详细信息 |
---|
public AbstractLayoutCache()
方法详细信息 |
---|
public void setNodeDimensions(AbstractLayoutCache.NodeDimensions nd)
nd
-
NodeDimensions
对象
public AbstractLayoutCache.NodeDimensions getNodeDimensions()
NodeDimensions
对象
public void setModel(TreeModel newModel)
TreeModel
。
newModel
- 将提供数据的
TreeModel
public TreeModel getModel()
TreeModel
。
TreeModel
public void setRootVisible(boolean rootVisible)
TreeModel
的根节点是否可视。
rootVisible
- 如果要显示树的根节点,则为 true
rootVisible
public boolean isRootVisible()
rootVisible
public void setRowHeight(int rowHeight)
rowHeight
- 每个单元的高度(以像素为单位)
public int getRowHeight()
public void setSelectionModel(TreeSelectionModel newLSM)
TreeSelectionModel
设置为新的 LSM。
newLSM
- 新的
TreeSelectionModel
public TreeSelectionModel getSelectionModel()
treeSelectionModel
public int getPreferredHeight()
public int getPreferredWidth(Rectangle bounds)
(bounds.x, bounds.y)
的路径定义,并在
bounds.height + bounds.y
结束。如果
bounds
为
null
,则返回所有节点的首选宽度(这可能是开销很大的计算)。
bounds
- 被查询的区域
public abstract boolean isExpanded(TreePath path)
public abstract Rectangle getBounds(TreePath path, Rectangle placeIn)
path
- 指定节点的
TreePath
placeIn
- 提供可用空间的
Rectangle
对象
Rectangle
对象
public abstract TreePath getPathForRow(int row)
null
。
row
- 查询的行
TreePath
public abstract int getRowForPath(TreePath path)
path
- 查询的
TreePath
public abstract TreePath getPathClosestTo(int x, int y)
null
,否则,始终返回一个有效路径。如果需要测试返回的对象是否正好位于 x, y,您应获取返回路径的 bounds,并根据它测试 x, y。
x
- 所需位置的水平组件
y
- 所需位置的垂直组件
TreePath
public abstract Enumeration<TreePath> getVisiblePathsFrom(TreePath path)
Enumerator
,它列举从传入位置开始的可视路径的增量。该枚举的排序取决于路径显示的方式。如果所返回枚举的第一个元素是可视的,则它是路径,如果第一个元素是不可视的,将返回
null
。
path
- 枚举的起始位置
Enumerator
public abstract int getVisibleChildCount(TreePath path)
path
- 正被查询的路径
public abstract void setExpandedState(TreePath path, boolean isExpanded)
path
的已扩展状态标记为
isExpanded
。
path
- 正在被扩展或折叠的路径
isExpanded
- 如果应该扩展路径,则为 true,否则为 false
public abstract boolean getExpandedState(TreePath path)
path
- 正在被查询的路径
public abstract int getRowCount()
public abstract void invalidateSizes()
TreeState
需要重新计算它引用的所有大小。
public abstract void invalidatePathBounds(TreePath path)
LayoutCache
,
path
的边界无效,需要进行更新。
path
- 正在被更新的路径
public abstract void treeNodesChanged(TreeModelEvent e)
在某个节点(或一组兄弟节点)以某种方式更改后进行调用。节点没有更改在树中的位置,也没有改变他们的子节点的数组,但是其他属性已更改,并且可能影响表示形式。示例:文件的名称已更改,但是它仍然位于文件系统中的同一位置。
e.path() 返回已更改节点的父节点的路径。
e.childIndices() 返回更改节点的索引。
e
-
TreeModelEvent
public abstract void treeNodesInserted(TreeModelEvent e)
将节点插入树之后进行调用。
e.path() 返回新节点的父节点
e.childIndices() 按升序返回新节点的索引。
e
-
TreeModelEvent
public abstract void treeNodesRemoved(TreeModelEvent e)
将节点从树移除之后进行调用。注意,如果从该树移除子树,则对于移除的子树的根而言,此方法仅调用一次,而对于移除的每个兄弟子树集而言,则不是一次。
e.path() 返回节点在删除之前的父节点。
e.childIndices() 返回节点按升序删除之前的索引。
e
-
TreeModelEvent
public abstract void treeStructureChanged(TreeModelEvent e)
树彻底更改给定节点以下的结构之后进行调用。如果 e.getPath()
返回的路径长度为一,并且第一个元素不标识当前的根节点,则第一个元素应成为树的新根。
e.path() 保持节点的路径。
e.childIndices() 返回 null。
e
-
TreeModelEvent
public int[] getRowsForPaths(TreePath[] paths)
path
中
TreePath
实例的行。此方法应返回与传入数组长度相同的数组,如果
path
中的某个
TreePaths
无效,则应将它在该数组中的条目设置为 -1。
RowMapper
中的
getRowsForPaths
paths
- 正被查询的
TreePath
的数组
TreePath
的每个相应行;如果
paths
为
null
,则返回
null
protected Rectangle getNodeDimensions(Object value, int row, int depth, boolean expanded, Rectangle placeIn)
placeIn
中的引用,表示
value
所需的大小。如果
inPlace
为
null
,则应返回新创建的
Rectangle
,否则将该值放置在
inPlace
中,并返回它。如果不存在 renderer,这将返回
null
。
value
- 要表示的
value
row
- 查询的行
depth
- 行的深度
expanded
- 如果行已扩展,则为 true,否则为 false
placeIn
- 包含表示
value
所需大小的
Rectangle
Rectangle
,如果节点没有尺寸,则返回
null
protected boolean isFixedRowHeight()