java.lang.Object
javax.swing.plaf.ComponentUI
javax.swing.plaf.TreeUI
javax.swing.plaf.basic.BasicTreeUI
- 直接已知的子类:
-
MetalTreeUI
,SynthTreeUI
用于层次数据结构的基本外观和感觉。
-
Nested Class Summary
Modifier and TypeClassDescriptionclass
负责获取单元格编辑事件并相应更新树的监听器。class
在滚动时(如果需要)更新首选大小。class
当焦点失去/获得时重新绘制主选择行。class
用于获取多个按键按下事件以适当生成事件。class
TreeMouseListener负责根据鼠标事件更新选择。class
MouseInputHandler处理传递所有鼠标事件,包括鼠标移动事件,直到鼠标释放到其构造的目标。class
负责获取节点大小的类,该方法转发到BasicTreeUI方法。class
树的PropertyChangeListener。class
TreeSelectionModel上的监听器,如果模型的任何属性更改,则重置行选择。class
当执行操作时调用cancelEditing的ActionListener。class
根据节点展开/折叠更新TreeState。class
TreeHomeAction用于处理end/home操作。class
TreeIncrementAction用于处理上/下操作。class
将所有TreeModel事件转发到TreeState。class
TreePageAction处理页面向上和向下事件。class
监听选择模型的更改并相应更新显示。class
对于第一个选定的行,展开状态将被切换。class
TreeTraverseAction
是用于左/右键的操作。 -
Field Summary
Modifier and TypeFieldDescriptionprotected TreeCellEditor
树的编辑器。protected Icon
折叠的图标。protected boolean
如果当前在树中的编辑器是由此实例创建的,则设置为true。protected boolean
如果当前在树中使用的渲染器是由此实例创建的,则设置为true。protected TreeCellRenderer
用于执行实际单元格绘制的渲染器。protected int
深度应该偏移多少以正确计算x位置。用于最小化绘制垂直线条。protected Component
在编辑时,这将是执行实际编辑的组件。protected TreePath
正在编辑的路径。protected int
正在编辑的行。protected boolean
如果编辑器与渲染器的大小不同,则设置为true。protected Icon
展开的图标。protected boolean
如果为largeModel设置了优化,则为true。protected int
上次选择的行的索引。protected int
左边距和垂直虚线绘制位置之间的距离。protected AbstractLayoutCache.NodeDimensions
负责告诉TreeState节点所需的大小。protected Dimension
最小首选大小。protected Dimension
完全显示所有节点所需的大小。protected CellRendererPane
用于绘制TreeCellRenderer。protected int
添加到leftChildIndent以确定将绘制单元格内容的位置的距离。protected boolean
在编辑时,如果shouldSelectCell()返回true表示在编辑之前应选择节点,则设置为false,用于completeEditing。protected int
将缩进的总距离。protected JTree
我们将要绘制的组件。protected TreeModel
用于确定要显示的内容。protected TreeSelectionModel
维护选择的模型。protected AbstractLayoutCache
负责处理大小和展开问题的对象。protected boolean
preferredSize是否有效? -
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
cancelEditing
(JTree tree) 取消当前的编辑会话。protected void
checkForClickInExpandControl
(TreePath path, int mouseX, int mouseY) 如果mouseX
和mouseY
在row
的展开/折叠区域内,则切换该行。protected void
停止编辑会话的消息。protected void
completeEditing
(boolean messageStop, boolean messageCancel, boolean messageTree) 停止编辑会话。protected void
在安装所有默认值/监听器之后从installUI调用。protected void
卸载UI。protected void
根据我们为其提供外观和感觉的树重置TreeState实例。protected CellEditorListener
创建一个监听器来处理当前编辑器的事件。protected CellRendererPane
返回渲染器面板,用于放置渲染器组件。protected ComponentListener
创建并返回一个新的ComponentHandler。protected TreeCellEditor
创建默认的单元格编辑器。protected TreeCellRenderer
返回用于对每个节点进行标记的默认单元格渲染器。protected FocusListener
创建负责在失去/获得焦点时更新显示的监听器。protected KeyListener
创建负责从树获取键事件的监听器。protected AbstractLayoutCache
创建负责管理展开内容以及节点大小的对象。protected MouseListener
创建负责根据鼠标事件更新选择的监听器。protected AbstractLayoutCache.NodeDimensions
创建一个能够确定树中给定节点大小的NodeDimensions
实例。protected PropertyChangeListener
创建负责根据树的更改更新UI的监听器。protected PropertyChangeListener
创建负责从选择模型获取属性更改事件的监听器。protected TreeExpansionListener
创建并返回负责在节点展开状态更改时更新treestate的对象。protected TreeModelListener
返回一个可以在模型更改时更新树的监听器。protected TreeSelectionListener
创建负责根据选择更改方法更新显示的监听器。static ComponentUI
构造一个新的BasicTreeUI
实例。protected void
drawCentered
(Component c, Graphics graphics, Icon icon, int x, int y) 在(x,y)处绘制icon
。protected void
drawDashedHorizontalLine
(Graphics g, int y, int x1, int x2) 绘制水平虚线。protected void
drawDashedVerticalLine
(Graphics g, int x, int y1, int y2) 绘制垂直虚线。protected void
ensureRowsAreVisible
(int beginRow, int endRow) 确保由beginRow
到endRow
标识的行可见。int
getBaseline
(JComponent c, int width, int height) 返回基线。返回一个枚举,指示组件的基线随大小更改而变化的方式。protected TreeCellEditor
返回用于编辑绘制树组件中条目的编辑器,如果树无法编辑,则返回null
。protected TreeCellRenderer
返回当前正在渲染每个单元格的TreeCellRenderer
的实例。getClosestPathForLocation
(JTree tree, int x, int y) 返回最接近x,y的节点的路径。返回折叠的图标。protected Rectangle
返回用于放置线条的未绑定框。getEditingPath
(JTree tree) 返回正在编辑的元素的路径。返回展开的图标。protected Color
返回哈希颜色。protected int
节点之间的水平连线元素默认从子节点的左侧右侧开始。protected TreePath
getLastChildPath
(TreePath parent) 返回parent
的最后一个子节点的路径。protected int
返回选择的主行。int
返回左侧子缩进。返回此组件的最大大小,如果实例当前在JTree中,则为首选大小,否则为0, 0。返回此组件的最小大小。protected TreeModel
getModel()
返回树模型。getPathBounds
(JTree tree, TreePath path) 返回包围路径中最后一个项目将绘制到的标签部分的矩形。getPathForRow
(JTree tree, int row) 返回传入行的路径。返回最小首选大小。返回适当显示树所需的首选大小,这是getPreferredSize(c, true)
的覆盖方法。getPreferredSize
(JComponent c, boolean checkConsistency) 返回表示在c中绘制树的首选大小。int
返回右侧子缩进。int
getRowCount
(JTree tree) 返回正在显示的行数。int
getRowForPath
(JTree tree, TreePath path) 返回路径中最后一个项目可见的行。protected int
返回绘制树组件中每行的高度。protected int
getRowX
(int row, int depth) 返回在x轴上渲染特定行的位置。protected TreeSelectionModel
返回当前用于渲染每个单元格的TreeSelectionModel
的实例,它是选择的模型。protected boolean
返回是否显示根处理程序。protected int
节点之间的垂直连线元素默认从父节点底部开始。protected void
handleExpandControlClick
(TreePath path, int mouseX, int mouseY) 当用户单击特定行时调用,这会调用toggleExpandState
。protected void
安装树的子组件,即渲染器面板。protected void
安装默认属性。protected void
注册键盘操作。protected void
注册监听器。protected boolean
告诉是否应通过节点之间的线指示DropLocation
。protected boolean
返回绘制的树组件是否应启用编辑。boolean
如果树正在编辑,则返回true。protected boolean
如果设置了large model,则返回true。protected boolean
isLeaf
(int row) 如果row
处的节点是叶子,则返回true。protected boolean
isLocationInExpandControl
(TreePath path, int mouseX, int mouseY) 如果mouseX
和mouseY
落在用于展开/折叠节点的行区域,并且row
处的节点不表示叶子,则返回true。protected boolean
isMultiSelectEvent
(MouseEvent event) 返回true表示节点上的鼠标事件应从锚点选择。protected boolean
返回绘制的树组件是否应显示根节点。protected boolean
isToggleEvent
(MouseEvent event) 返回true表示鼠标下的行应根据事件切换。protected boolean
isToggleSelectionEvent
(MouseEvent event) 返回true表示鼠标事件应仅切换鼠标下的行的选择。protected void
绘制放置线。protected void
paintExpandControl
(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf) 绘制行的展开(切换)部分。protected void
paintHorizontalLine
(Graphics g, JComponent c, int y, int left, int right) 绘制水平线。protected void
paintHorizontalPartOfLeg
(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf) 绘制腿的水平部分。protected void
paintRow
(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf) 绘制行的渲染器部分。protected void
paintVerticalLine
(Graphics g, JComponent c, int x, int top, int bottom) 绘制垂直线。protected void
paintVerticalPartOfLeg
(Graphics g, Rectangle clipBounds, Insets insets, TreePath path) 绘制腿的垂直部分。protected void
pathWasCollapsed
(TreePath path) 在折叠后从VisibleTreeNode
发送的消息。protected void
pathWasExpanded
(TreePath path) 在展开后从VisibleTreeNode
发送的消息。protected void
在设置tree
实例变量之后调用,但在安装任何默认值/监听器之前调用。protected void
在卸载UI之前调用。protected void
selectPathForEvent
(TreePath path, MouseEvent event) 根据特定行上的MouseEvent
更新选择。protected void
setCellEditor
(TreeCellEditor editor) 设置单元格编辑器。protected void
将TreeCellRenderer
设置为tcr
。void
setCollapsedIcon
(Icon newG) 设置折叠图标。protected void
setEditable
(boolean newValue) 配置接收器以允许或不允许编辑。void
setExpandedIcon
(Icon newG) 设置展开图标。protected void
setHashColor
(Color color) 设置哈希颜色。protected void
setLargeModel
(boolean largeModel) 设置largeModel
。void
setLeftChildIndent
(int newAmount) 设置左子缩进。protected void
设置TreeModel
。void
setPreferredMinSize
(Dimension newSize) 设置首选最小大小。void
setRightChildIndent
(int newAmount) 设置右子缩进。protected void
setRootVisible
(boolean newValue) 将根设置为可见。protected void
setRowHeight
(int rowHeight) 设置行高,将此转发到treeState。protected void
setSelectionModel
(TreeSelectionModel newLSM) 重置选择模型。protected void
setShowsRootHandles
(boolean newValue) 确定是否显示节点处理。protected boolean
shouldPaintExpandControl
(TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf) 如果应为指定行绘制展开(切换)控件,则返回true
。protected boolean
startEditing
(TreePath path, MouseEvent event) 如果存在cellEditor
并且shouldSelectCell
返回true
,则为节点启动编辑。void
startEditingAtPath
(JTree tree, TreePath path) 选择路径中的最后一项并尝试编辑它。boolean
stopEditing
(JTree tree) 停止当前的编辑会话。protected void
toggleExpandState
(TreePath path) 如果路径未展开,则展开路径,如果已展开,则折叠行。protected void
卸载渲染器窗格。protected void
卸载默认属性。protected void
注销键盘操作。protected void
注销监听器。protected void
更新preferredSize
实例变量,该变量从getPreferredSize()
返回。protected void
根据所包含的JTree的可编辑性更新cellEditor。protected void
更新每个深度应该偏移多少。protected void
通过从树获取展开的后代并转发到树状态,更新path
的所有后代的展开状态。protected void
使JTree中展开的所有节点在LayoutCache中展开。protected void
更新选择的导航行。protected void
当渲染器更改时,从我们所在的树中发送的消息。protected void
将缓存的大小标记为无效,并使用treeDidChange
消息树。Methods declared in class javax.swing.plaf.ComponentUI
contains, getAccessibleChild, getAccessibleChildrenCount, installUI, paint, uninstallUI, update
-
Field Details
-
collapsedIcon
折叠图标。 -
expandedIcon
展开图标。 -
leftChildIndent
protected int leftChildIndent左边距和绘制垂直虚线之间的距离。 -
rightChildIndent
protected int rightChildIndent添加到leftChildIndent以确定将绘制单元格内容的位置的距离。 -
totalChildIndent
protected int totalChildIndent将缩进的总距离。leftChildIndent和rightChildIndent的总和。 -
preferredMinSize
最小首选大小。 -
lastSelectedRow
protected int lastSelectedRow最后选择的行的索引。 -
tree
我们将要绘制的组件。 -
currentCellRenderer
用于执行实际单元格绘制的渲染器。 -
createdRenderer
protected boolean createdRenderer如果当前在树中的渲染器是由此实例创建的,则设置为true。 -
cellEditor
树的编辑器。 -
createdCellEditor
protected boolean createdCellEditor如果当前在树中的编辑器是由此实例创建的,则设置为true。 -
stopEditingInCompleteEditing
protected boolean stopEditingInCompleteEditing在编辑时,如果shouldSelectCell()
返回true表示在编辑之前应选择节点,则将其设置为false,在completeEditing中使用。 -
rendererPane
用于绘制TreeCellRenderer。 -
preferredSize
完全显示所有节点所需的大小。 -
validCachedPreferredSize
protected boolean validCachedPreferredSize首选大小是否有效? -
treeState
负责处理大小和展开问题的对象。 -
drawingCache
用于最小化绘制垂直线。 -
largeModel
protected boolean largeModel如果正在进行largeModel的优化,则设置为true。不支持此功能的子类可能希望重写createLayoutCache以不返回FixedHeightLayoutCache实例。 -
nodeDimensions
负责告诉TreeState节点所需的大小。 -
treeModel
用于确定要显示的内容。 -
treeSelectionModel
维护选择的模型。 -
depthOffset
protected int depthOffset深度应该偏移多少以正确计算x位置。这取决于根节点是否可见以及根处理是否可见。 -
editingComponent
在编辑时,正在执行实际编辑的组件。 -
editingPath
正在编辑的路径。 -
editingRow
protected int editingRow正在编辑的行。仅在editingComponent不为null时才应引用。 -
editorHasDifferentSize
protected boolean editorHasDifferentSize如果编辑器与渲染器的大小不同,则设置为true。
-
-
Constructor Details
-
BasicTreeUI
public BasicTreeUI()构造BasicTreeUI
的新实例。
-
-
Method Details
-
createUI
构造BasicTreeUI
的新实例。- 参数:
-
x
- 一个组件 - 返回:
-
BasicTreeUI
的新实例
-
getHashColor
返回哈希颜色。- 返回:
- 哈希颜色
-
setHashColor
设置哈希颜色。- 参数:
-
color
- 哈希颜色
-
setLeftChildIndent
public void setLeftChildIndent(int newAmount) 设置左子缩进。- 参数:
-
newAmount
- 左子缩进
-
getLeftChildIndent
public int getLeftChildIndent()返回左子缩进。- 返回:
- 左子缩进
-
setRightChildIndent
public void setRightChildIndent(int newAmount) 设置右子缩进。- 参数:
-
newAmount
- 右子缩进
-
getRightChildIndent
public int getRightChildIndent()返回右子缩进。- 返回:
- 右子缩进
-
setExpandedIcon
设置展开图标。- 参数:
-
newG
- 展开图标
-
getExpandedIcon
返回展开图标。- 返回:
- 展开图标
-
setCollapsedIcon
设置折叠图标。- 参数:
-
newG
- 折叠图标
-
getCollapsedIcon
返回折叠图标。- 返回:
- 折叠图标
-
setLargeModel
protected void setLargeModel(boolean largeModel) 设置largeModel
。在绘制树组件中更改largeModel
属性时调用。- 参数:
-
largeModel
-largeModel
属性的新值
-
isLargeModel
protected boolean isLargeModel()如果设置了large model,则返回true
。- 返回:
-
如果设置了large model,则返回
true
-
setRowHeight
protected void setRowHeight(int rowHeight) 设置行高,将此转发到treeState。在绘制树组件中更改rowHeight
属性时调用。- 参数:
-
rowHeight
-rowHeight
属性的新值
-
getRowHeight
protected int getRowHeight()返回绘制树组件中每行的高度。如果返回值小于或等于0,则每行的高度由渲染器确定。- 返回:
- 每行的高度,以像素为单位
-
setCellRenderer
将TreeCellRenderer
设置为tcr
。这会调用updateRenderer
。在绘制树组件中更改cellRenderer
属性时调用。- 参数:
-
tcr
-cellRenderer
属性的新值
-
getCellRenderer
返回用于渲染每个单元格的当前TreeCellRenderer
实例。- 返回:
-
TreeCellRenderer
实例
-
setModel
设置TreeModel
。- 参数:
-
model
- 新值
-
getModel
返回树模型。- 返回:
- 树模型
-
setRootVisible
protected void setRootVisible(boolean newValue) 将根设置为可见。在绘制树组件中更改rootVisible
属性时调用。- 参数:
-
newValue
-rootVisible
属性的新值
-
isRootVisible
protected boolean isRootVisible()返回绘制树组件的根节点是否应显示。- 返回:
-
如果树的根节点应显示,则返回
true
-
setShowsRootHandles
protected void setShowsRootHandles(boolean newValue) 确定是否显示节点处理。在绘制树组件中更改showsRootHandles
属性时调用。- 参数:
-
newValue
-showsRootHandles
属性的新值
-
getShowsRootHandles
protected boolean getShowsRootHandles()如果应显示根处理,则返回true
。- 返回:
-
如果应显示根处理,则返回
true
-
setCellEditor
设置单元格编辑器。在绘制树组件中更改cellEditor
属性时调用。- 参数:
-
editor
-cellEditor
属性的新值
-
getCellEditor
返回用于编辑绘制树组件中条目的编辑器,如果树无法编辑,则返回null
。- 返回:
-
TreeCellEditor
实例,或null
-
setEditable
protected void setEditable(boolean newValue) 配置接收器以允许或不允许编辑。在绘制树组件中更改editable
属性时调用。- 参数:
-
newValue
-editable
属性的新值
-
isEditable
protected boolean isEditable()返回绘制的树组件是否应启用编辑。- 返回:
-
如果树可编辑,则为
true
-
setSelectionModel
重置选择模型。在绘制的树组件中更改selectionModel
属性时安装适当的监听器。- 参数:
-
newLSM
-selectionModel
属性的新值
-
getSelectionModel
返回当前的TreeSelectionModel
实例,它是选择的模型。- 返回:
-
TreeSelectionModel
实例
-
getPathBounds
返回包围路径中最后一个项目将绘制到的标签部分的矩形。如果路径中的任何组件当前无效,则返回null。- 指定者:
-
getPathBounds
在类TreeUI
- 参数:
-
tree
-path
的JTree
-
path
- 标识节点的TreePath
- 返回:
-
包围路径中最后一个项目将绘制到的标签部分的
Rectangle
,如果路径中的任何组件当前有效,则返回null
。
-
getPathForRow
返回传入行的路径。如果行不可见,则返回null。- 指定者:
-
getPathForRow
在类TreeUI
- 参数:
-
tree
- 一个JTree
对象 -
row
- 指定行的整数 - 返回:
-
row
的path
或如果row
不可见则为null
-
getRowForPath
返回路径中最后一个标识的项目在哪个行可见。如果路径中的任何元素当前不可见,则返回-1。- 指定者:
-
getRowForPath
在类TreeUI
- 参数:
-
tree
-path
的JTree
-
path
- 要查找的TreePath
对象 - 返回:
-
指定的最后一个项目可见的行的整数,如果
path
中的任何元素当前不可见,则为-1
-
getRowCount
返回正在显示的行数。- 指定者:
-
getRowCount
在类TreeUI
- 参数:
-
tree
- 要计算行数的JTree
- 返回:
- 指定的正在显示的行数的整数
-
getClosestPathForLocation
返回最接近x,y的节点的路径。如果当前没有任何内容可见,则返回null,否则它将始终返回有效路径。如果需要测试返回的对象是否确切地在x,y处,您应该获取返回路径的边界并将x,y与其进行测试。- 指定者:
-
getClosestPathForLocation
在类TreeUI
- 参数:
-
tree
- 一个JTree
对象 -
x
- 从显示区域左边缘水平像素数的整数 -
y
- 从显示区域顶部垂直像素数的整数,减去任何顶部边距 - 返回:
-
最接近
x,y
的TreePath
节点,如果当前没有任何内容可见,则为null
-
isEditing
如果树正在编辑,则返回true。正在编辑的项目可以通过getEditingPath()返回。 -
stopEditing
停止当前的编辑会话。如果树没有被编辑,则此操作无效。如果编辑器允许停止编辑会话,则返回true。- 指定者:
-
stopEditing
在类TreeUI
- 参数:
-
tree
- 一个JTree
对象 - 返回:
- 如果编辑器允许停止编辑会话,则为true
-
cancelEditing
取消当前的编辑会话。- 指定者:
-
cancelEditing
在类TreeUI
- 参数:
-
tree
- 一个JTree
对象
-
startEditingAtPath
选择路径中的最后一个项目并尝试编辑它。如果CellEditor不允许为所选项目进行编辑,则编辑将失败。- 指定者:
-
startEditingAtPath
在类TreeUI
- 参数:
-
tree
- 正在编辑的JTree
-
path
- 要编辑的TreePath
-
getEditingPath
返回正在编辑的元素的路径。- 指定者:
-
getEditingPath
在类TreeUI
- 参数:
-
tree
- 要返回路径的JTree
- 返回:
-
包含到
tree
的路径的TreePath
-
prepareForUIInstall
protected void prepareForUIInstall()在设置tree
实例变量之后但在安装任何默认值/监听器之前调用。 -
completeUIInstall
protected void completeUIInstall()在安装所有默认值/监听器之后从installUI调用。 -
installDefaults
protected void installDefaults()安装默认属性。 -
installListeners
protected void installListeners()注册监听器。 -
installKeyboardActions
protected void installKeyboardActions()注册键盘操作。 -
installComponents
protected void installComponents()安装树的子组件,即渲染器窗格。 -
createNodeDimensions
创建一个能够确定树中给定节点大小的NodeDimensions
实例。- 返回:
-
NodeDimensions
的一个实例
-
createPropertyChangeListener
创建负责根据树的更改更新UI的监听器。- 返回:
-
PropertyChangeListener
的一个实例
-
createMouseListener
创建负责根据鼠标事件更新选择的监听器。- 返回:
-
MouseListener
的一个实例
-
createFocusListener
创建负责在失去/获得焦点时更新显示的监听器。- 返回:
-
FocusListener
的一个实例
-
createKeyListener
创建负责从树获取键事件的监听器。- 返回:
-
KeyListener
的一个实例
-
createSelectionModelPropertyChangeListener
创建负责从选择模型获取属性更改事件的监听器。- 返回:
-
PropertyChangeListener
的一个实例
-
createTreeSelectionListener
创建负责根据选择更改方法更新显示的监听器。- 返回:
-
TreeSelectionListener
的一个实例
-
createCellEditorListener
创建处理当前编辑器事件的监听器。- 返回:
-
CellEditorListener
的一个实例
-
createComponentListener
创建并返回一个新的ComponentHandler。这用于大型模型,当组件移动时将validCachedPreferredSize标记为无效。- 返回:
-
ComponentListener
的一个实例
-
createTreeExpansionListener
创建并返回负责在节点展开状态更改时更新树状态的对象。- 返回:
-
TreeExpansionListener
的一个实例
-
createLayoutCache
创建负责管理展开内容以及节点大小的对象。- 返回:
- 负责管理展开内容的对象
-
createCellRendererPane
返回渲染器组件放置的渲染器窗格。- 返回:
-
CellRendererPane
的一个实例
-
createDefaultCellEditor
创建一个默认的单元格编辑器。- 返回:
- 一个默认的单元格编辑器
-
createDefaultCellRenderer
返回用于对每个节点进行盖章的默认单元格渲染器。- 返回:
-
TreeCellRenderer
的一个实例
-
createTreeModelListener
返回一个可以在模型更改时更新树的侦听器。- 返回:
-
TreeModelListener
的一个实例。
-
prepareForUIUninstall
protected void prepareForUIUninstall()在卸载UI之前调用。 -
completeUIUninstall
protected void completeUIUninstall()卸载UI。 -
uninstallDefaults
protected void uninstallDefaults()卸载默认属性。 -
uninstallListeners
protected void uninstallListeners()注销侦听器。 -
uninstallKeyboardActions
protected void uninstallKeyboardActions()注销键盘操作。 -
uninstallComponents
protected void uninstallComponents()卸载渲染器窗格。 -
getBaseline
返回基线。- 覆盖:
-
在类中覆盖
getBaseline
ComponentUI
- 参数:
-
c
- 请求基线的JComponent
-
width
- 获取基线的宽度 -
height
- 获取基线的高度 - 返回:
- 基线或值< 0,表示没有合理的基线
- 抛出:
-
NullPointerException
- 如果c
为null
-
IllegalArgumentException
- 如果宽度或高度< 0 - 自:
- 1.6
- 参见:
-
getBaselineResizeBehavior
返回一个枚举,指示组件大小更改时基线的变化方式。- 覆盖:
-
在类中覆盖
getBaselineResizeBehavior
ComponentUI
- 参数:
-
c
- 要返回基线调整行为的JComponent
- 返回:
- 一个枚举,指示组件大小更改时基线的变化方式
- 抛出:
-
NullPointerException
- 如果c
为null
- 自:
- 1.6
- 参见:
-
isDropLine
告诉是否应该通过节点之间的线来指示DropLocation
。这适用于javax.swing.DropMode.INSERT
和javax.swing.DropMode.ON_OR_INSERT
拖放模式。- 参数:
-
loc
- 一个DropLocation
- 返回:
-
如果应该将拖放位置显示为一条线,则返回
true
- 自:
- 1.7
-
paintDropLine
绘制拖放线。- 参数:
-
g
- 要绘制的Graphics
对象 - 自:
- 1.7
-
getDropLineRect
返回拖放线的未绑定框。- 参数:
-
loc
- 一个DropLocation
- 返回:
- 拖放线的边界框
- 自:
- 1.7
-
paintHorizontalPartOfLeg
protected void paintHorizontalPartOfLeg(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf) 绘制腿的水平部分。接收者不应修改clipBounds
或insets
。注意:
parentRow
如果根节点不可见,则可能为-1。- 参数:
-
g
- 一个图形上下文 -
clipBounds
- 一个裁剪的矩形 -
insets
- 插图 -
bounds
- 一个边界矩形 -
path
- 一个树路径 -
row
- 一行 -
isExpanded
- 如果路径已展开,则为true
-
hasBeenExpanded
- 如果路径已展开,则为true
-
isLeaf
- 如果路径是叶子,则为true
-
paintVerticalPartOfLeg
protected void paintVerticalPartOfLeg(Graphics g, Rectangle clipBounds, Insets insets, TreePath path) 绘制腿的垂直部分。接收者不应修改clipBounds
或insets
。- 参数:
-
g
- 一个图形上下文 -
clipBounds
- 一个裁剪的矩形 -
insets
- 插图 -
path
- 一个树路径
-
paintExpandControl
protected void paintExpandControl(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf) 绘制行的展开(切换)部分。接收者不应修改clipBounds
或insets
。- 参数:
-
g
- 一个图形上下文 -
clipBounds
- 一个裁剪的矩形 -
insets
- 插图 -
bounds
- 一个边界矩形 -
path
- 一个树路径 -
row
- 一行 -
isExpanded
- 如果路径已展开,则为true
-
hasBeenExpanded
- 如果路径已展开,则为true
-
isLeaf
- 如果行是叶子,则为true
-
paintRow
protected void paintRow(Graphics g, Rectangle clipBounds, Insets insets, Rectangle bounds, TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf) 绘制行的渲染器部分。接收者不应修改clipBounds
或insets
。- 参数:
-
g
- 一个图形上下文 -
clipBounds
- 一个裁剪的矩形 -
insets
- 插图 -
bounds
- 一个边界矩形 -
path
- 一个树路径 -
row
- 一行 -
isExpanded
- 如果路径已展开,则为true
-
hasBeenExpanded
- 如果路径已展开,则为true
-
isLeaf
- 如果路径是叶子,则为true
-
shouldPaintExpandControl
protected boolean shouldPaintExpandControl(TreePath path, int row, boolean isExpanded, boolean hasBeenExpanded, boolean isLeaf) 如果应为指定行绘制展开(切换)控件,则返回true
。- 参数:
-
path
- 一个树路径 -
row
- 一行 -
isExpanded
- 如果路径已展开,则为true
-
hasBeenExpanded
- 如果路径已展开,则为true
-
isLeaf
- 如果行是叶子,则为true
- 返回:
-
如果应为指定行绘制展开(切换)控件,则返回
true
-
paintVerticalLine
绘制垂直线。- 参数:
-
g
- 一个图形上下文 -
c
- 一个组件 -
x
- X坐标 -
top
- Y1坐标 -
bottom
- Y2坐标
-
paintHorizontalLine
绘制水平线。- 参数:
-
g
- 一个图形上下文 -
c
- 一个组件 -
y
- Y坐标 -
left
- X1坐标 -
right
- X2坐标
-
getVerticalLegBuffer
protected int getVerticalLegBuffer()默认情况下,节点之间的腿的垂直元素从父节点的底部开始。此方法使腿从下面开始。- 返回:
- 垂直腿缓冲区
-
getHorizontalLegBuffer
protected int getHorizontalLegBuffer()默认情况下,节点之间的腿的水平元素从子节点的左侧右侧开始。此方法使腿在此之前结束。- 返回:
- 水平腿缓冲区
-
drawCentered
在(x,y)处绘制icon
的中心。- 参数:
-
c
- 一个组件 -
graphics
- 一个图形上下文 -
icon
- 一个图标 -
x
- X坐标 -
y
- Y坐标
-
drawDashedHorizontalLine
绘制水平虚线。假定x1
<=x2
。如果x1
大于x2
,则该方法不绘制任何内容。- 参数:
-
g
- 一个Graphics
的实例 -
y
- Y坐标 -
x1
- X1坐标 -
x2
- X2坐标
-
drawDashedVerticalLine
绘制垂直虚线。假定y1
<=y2
。如果y1
大于y2
,则该方法不绘制任何内容。- 参数:
-
g
- 一个Graphics
的实例 -
x
- X坐标 -
y1
- Y1坐标 -
y2
- Y2坐标
-
getRowX
protected int getRowX(int row, int depth) 返回在x轴上渲染特定行的位置。返回值不包括JTree上指定的任何Insets。不检查行或深度的有效性,假定它是正确的,如果行或深度与树的不匹配,则不会抛出异常。- 参数:
-
row
- 要返回x位置的行 -
depth
- 行的深度 - 返回:
- 缩进给定行的量。
- 自:
- 1.5
-
updateLayoutCacheExpandedNodes
protected void updateLayoutCacheExpandedNodes()使JTree中展开的所有节点在LayoutCache中展开。这将使用根路径调用updateExpandedDescendants。 -
updateExpandedDescendants
通过从树中获取展开的后代并转发到树状态,更新path
的所有后代的展开状态。- 参数:
-
path
- 一个树路径
-
getLastChildPath
返回到parent
的最后一个子节点的路径。- 参数:
-
parent
- 一个树路径 - 返回:
-
到
parent
的最后一个子节点的路径
-
updateDepthOffset
protected void updateDepthOffset()更新每个深度应该偏移多少。 -
updateCellEditor
protected void updateCellEditor()Updates the cellEditor based on the editability of the JTree that we're contained in. If the tree is editable but doesn't have a cellEditor, a basic one will be used. -
updateRenderer
protected void updateRenderer()Messaged from the tree we're in when the renderer has changed. -
configureLayoutCache
protected void configureLayoutCache()根据我们为其提供外观的树重置TreeState实例。 -
updateSize
protected void updateSize()将缓存的大小标记为无效,并向树发送treeDidChange
消息。 -
updateCachedPreferredSize
protected void updateCachedPreferredSize()更新preferredSize
实例变量,该变量从getPreferredSize()
返回。对于从左到右的方向,大小是根据当前的AbstractLayoutCache确定的。对于RTL方向,首选大小变为宽度减去最小x位置。
-
pathWasExpanded
在VisibleTreeNode
扩展后发送的消息。- 参数:
-
path
- 树路径
-
pathWasCollapsed
在VisibleTreeNode
折叠后发送的消息。- 参数:
-
path
- 树路径
-
ensureRowsAreVisible
protected void ensureRowsAreVisible(int beginRow, int endRow) 确保由beginRow
到endRow
标识的行可见。- 参数:
-
beginRow
- 起始行 -
endRow
- 结束行
-
setPreferredMinSize
设置首选最小大小。- 参数:
-
newSize
- 新的首选大小
-
getPreferredMinSize
返回最小首选大小。- 返回:
- 最小首选大小
-
getPreferredSize
返回表示树的首选大小,这是getPreferredSize(c, true)
的覆盖方法。- 覆盖:
-
getPreferredSize
在类中ComponentUI
- 参数:
-
c
- 一个组件 - 返回:
- 表示组件中树的首选大小
- 另请参阅:
-
getPreferredSize
返回表示树在c中的首选大小。如果checkConsistency为true
,首先会发送消息checkConsistency
。- 参数:
-
c
- 一个组件 -
checkConsistency
- 如果为true
,则检查一致性 - 返回:
- 表示组件中树的首选大小
-
getMinimumSize
返回此组件的最小大小。将是最小首选大小或0, 0。- 覆盖:
-
getMinimumSize
在类中ComponentUI
- 参数:
-
c
- 正在查询其最小大小的组件;通常会忽略此参数,但如果UI对象是无状态的并且由多个组件共享,则可能会使用 - 返回:
-
一个
Dimension
对象或null
- 另请参阅:
-
getMaximumSize
返回此组件的最大大小,如果实例当前在JTree中,则将是首选大小,否则为0, 0。- 覆盖:
-
getMaximumSize
在类中ComponentUI
- 参数:
-
c
- 正在查询其最大大小的组件;通常会忽略此参数,但如果UI对象是无状态的并且由多个组件共享,则可能会使用 - 返回:
-
一个
Dimension
对象或null
- 另请参阅:
-
completeEditing
protected void completeEditing()发送消息以停止编辑会话。如果接收者提供外观的UI从getInvokesStopCellEditing
返回true,则会在当前编辑器上调用stopCellEditing。然后,使用false、true、false消息completeEditing,以取消任何挂起的编辑。 -
completeEditing
protected void completeEditing(boolean messageStop, boolean messageCancel, boolean messageTree) 停止编辑会话。如果messageStop
为true
,则会向编辑器发送stopEditing
消息,如果messageCancel
为true
,则会向编辑器发送cancelEditing
消息。如果messageTree
为true
,则会向treeModel
发送valueForPathChanged
消息。- 参数:
-
messageStop
- 停止编辑的消息 -
messageCancel
- 取消编辑的消息 -
messageTree
- 树的消息
-
startEditing
如果存在cellEditor
并且shouldSelectCell
返回true
,则为节点开始编辑。这假定路径有效且可见。
- 参数:
-
path
- 树路径 -
event
- 鼠标事件 - 返回:
-
如果编辑成功,则为
true
-
checkForClickInExpandControl
如果mouseX
和mouseY
在row
的展开/折叠区域内,则会切换该行。- 参数:
-
path
- 树路径 -
mouseX
- X坐标 -
mouseY
- Y坐标
-
isLocationInExpandControl
如果mouseX
和mouseY
落在用于展开/折叠节点的row
区域,并且row
处的节点不表示叶子,则返回true
。- 参数:
-
path
- 树路径 -
mouseX
- X坐标 -
mouseY
- Y坐标 - 返回:
-
如果鼠标光标落在用于展开/折叠节点的行区域内且节点不是叶子,则返回
true
。
-
handleExpandControlClick
当用户单击特定行时发送的消息,这会调用toggleExpandState
。- 参数:
-
path
- 树路径 -
mouseX
- X坐标 -
mouseY
- Y坐标
-
toggleExpandState
如果路径未展开,则展开路径,如果已展开,则折叠行。如果展开路径并且JTree
在展开时滚动,则会调用ensureRowsAreVisible
以滚动尽可能多的子项为可见(尝试滚动到路径的最后一个可见后代)。- 参数:
-
path
- 树路径
-
isToggleSelectionEvent
返回true
表示鼠标事件在节点上,应仅切换鼠标下的行的选择。- 参数:
-
event
- 鼠标事件 - 返回:
-
如果鼠标事件在节点上应切换选择,则返回
true
-
isMultiSelectEvent
返回true
表示鼠标事件在节点上,应从锚点开始选择。- 参数:
-
event
- 鼠标事件 - 返回:
-
如果鼠标事件在节点上应从锚点开始选择,则返回
true
-
isToggleEvent
返回true
表示鼠标事件在节点上,应根据事件切换鼠标下的行。这在checkForClickInExpandControl
之后调用,意味着位置不在展开(切换)控件中。- 参数:
-
event
- 鼠标事件 - 返回:
-
如果鼠标下的行应根据事件切换,则返回
true
-
selectPathForEvent
根据MouseEvent
在特定行上的操作更新选择。如果事件是切换选择事件,则行将被选中或取消选中。如果事件标识为多选事件,则从锚点更新选择。否则,将选择行,并且如果事件指定切换事件,则展开/折叠行。- 参数:
-
path
- 选定的路径 -
event
- 鼠标事件
-
isLeaf
protected boolean isLeaf(int row) 如果row
处的节点是叶子,则返回true
。- 参数:
-
row
- 一行 - 返回:
-
如果
row
处的节点是叶子,则返回true
-
updateLeadSelectionRow
protected void updateLeadSelectionRow()更新选择的主行。- 自1.7起
- 1.7
-
getLeadSelectionRow
protected int getLeadSelectionRow()返回选择的主行。- 返回:
- 选择的主行
- 自1.7起
- 1.7
-