Module java.desktop
Package javax.swing.tree

Class AbstractLayoutCache

java.lang.Object
javax.swing.tree.AbstractLayoutCache
所有已实现的接口:
RowMapper
直接已知的子类:
FixedHeightLayoutCache, VariableHeightLayoutCache

public abstract class AbstractLayoutCache extends Object implements RowMapper
警告: 该类的序列化对象将不兼容未来的Swing版本。当前的序列化支持适用于短期存储或在运行相同Swing版本的应用程序之间的RMI。从1.4开始,已将所有JavaBeans的长期存储支持添加到java.beans包中。请参见XMLEncoder
  • Field Details

    • nodeDimensions

      protected AbstractLayoutCache.NodeDimensions nodeDimensions
      负责获取节点大小的对象。
    • treeModel

      protected TreeModel treeModel
      提供信息的模型。
    • treeSelectionModel

      protected TreeSelectionModel treeSelectionModel
      选择模型。
    • rootVisible

      protected boolean rootVisible
      如果根节点显示,则为True,如果其子节点是最高可见节点,则为False。
    • rowHeight

      protected int rowHeight
      每行使用的高度。如果此值<= 0,则渲染器将用于确定每行的高度。
  • Constructor Details

    • AbstractLayoutCache

      protected AbstractLayoutCache()
      子类调用的构造函数。
  • Method Details

    • setNodeDimensions

      public void setNodeDimensions(AbstractLayoutCache.NodeDimensions nd)
      设置负责在树中绘制节点并因此负责计算单个节点尺寸的渲染器。
      参数:
      nd - 一个NodeDimensions对象
    • getNodeDimensions

      public AbstractLayoutCache.NodeDimensions getNodeDimensions()
      返回在树中呈现节点并负责计算单个节点尺寸的对象。
      返回:
      NodeDimensions对象
    • setModel

      public void setModel(TreeModel newModel)
      设置将提供数据的TreeModel
      参数:
      newModel - 将提供数据的TreeModel
    • getModel

      public TreeModel getModel()
      返回提供数据的TreeModel
      返回:
      提供数据的TreeModel
    • setRootVisible

      @BeanProperty(description="Whether or not the root node from the TreeModel is visible.") public void setRootVisible(boolean rootVisible)
      确定TreeModel的根节点是否可见。
      参数:
      rootVisible - 如果树的根节点应显示,则为true
      参见:
    • isRootVisible

      public boolean isRootVisible()
      返回如果树的根节点显示,则为true。
      返回:
      如果树的根节点显示,则为true
      参见:
    • setRowHeight

      @BeanProperty(description="The height of each cell.") public void setRowHeight(int rowHeight)
      设置每个单元格的高度。如果指定的值小于等于零,则查询当前单元格渲染器以获取每行的高度。
      参数:
      rowHeight - 每个单元格的高度,以像素为单位
    • getRowHeight

      public int getRowHeight()
      返回每行的高度。如果返回值小于等于0,则由渲染器确定每行的高度。
      返回:
      每行的高度
    • 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。
      参数:
      path - 要检查的TreePath
      返回:
      TreePath是否已展开
    • getBounds

      public abstract Rectangle getBounds(TreePath path, Rectangle placeIn)
      返回给定路径绘制所需的边界矩形。
      参数:
      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处,应获取返回路径的边界并将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()返回的路径长度为1,并且第一个元素未标识当前根节点,则第一个元素应成为树的新根。

      e.path()保存到节点的路径。

      e.childIndices()返回null。

      参数:
      e - TreeModelEvent
    • getRowsForPaths

      public int[] getRowsForPaths(TreePath[] paths)
      返回TreePath实例在path中显示的行。该方法应返回与传入的长度相同的数组,如果path中的一个TreePath无效,则数组中的相应条目应设置为-1。
      指定者:
      getRowsForPaths 在接口 RowMapper
      参数:
      paths - 要查询的TreePath数组
      返回:
      返回与传入长度相同的数组,其中包含每个对应的TreePath显示的行;如果pathsnull,则返回null
    • getNodeDimensions

      protected Rectangle getNodeDimensions(Object value, int row, int depth, boolean expanded, Rectangle placeIn)
      通过placeIn引用返回表示value所需的大小。如果inPlacenull,则应返回新创建的Rectangle,否则应将值放入inPlace并返回。如果没有渲染器,则返回null
      参数:
      value - 要表示的value
      row - 要查询的行
      depth - 行的深度
      expanded - 如果行已展开,则为true;否则为false
      placeIn - 包含表示value所需大小的Rectangle
      返回:
      包含节点尺寸的Rectangle,如果节点没有尺寸,则返回null
    • isFixedRowHeight

      protected boolean isFixedRowHeight()
      如果每行的高度是固定大小,则返回true。
      返回:
      每行的高度是否为固定大小