- 所有已实现的接口:
-
ImageObserver
,MenuContainer
,Serializable
,Accessible
,Scrollable
树中的特定节点可以通过TreePath
(封装节点及其所有祖先的对象)或其显示行来标识,其中显示区域中的每一行显示一个节点。一个展开节点是一个非叶节点(由TreeModel.isLeaf(node)
返回false来识别),当其所有祖先都展开时,它将显示其子节点。一个折叠节点是隐藏子节点的节点。一个隐藏节点是位于折叠祖先下的节点。所有可视节点的父节点都是展开的,但可能不会显示。一个显示节点既是可视的又在显示区域内,可以看到。
JTree
方法使用"visible"表示"显示":
isRootVisible()
setRootVisible()
scrollPathToVisible()
scrollRowToVisible()
getVisibleRowCount()
setVisibleRowCount()
JTree
方法使用"visible"表示"可视"(在展开的父节点下):
isVisible()
makeVisible()
TreeSelectionListener
接口,并使用addTreeSelectionListener
方法添加实例。当选择更改时,将调用valueChanged
,即如果用户两次单击同一节点,则valueChanged
只会被调用一次。
如果您想检测双击事件或用户单击节点时的事件,无论是否已选择,我们建议您执行以下操作:
final JTree tree = ...; MouseListener ml = new MouseAdapter() { public void mousePressed(MouseEvent e) { int selRow = tree.getRowForLocation(e.getX(), e.getY()); TreePath selPath = tree.getPathForLocation(e.getX(), e.getY()); if(selRow != -1) { if(e.getClickCount() == 1) { mySingleClick(selRow, selPath); } else if(e.getClickCount() == 2) { myDoubleClick(selRow, selPath); } } } }; tree.addMouseListener(ml);注意:此示例获取路径和行,但您只需要获取您感兴趣的那个。
要使用JTree
显示复合节点(例如,包含图形图标和文本的节点),请子类化TreeCellRenderer
并使用setCellRenderer(javax.swing.tree.TreeCellRenderer)
告诉树使用它。要编辑这样的节点,请子类化TreeCellEditor
并使用setCellEditor(javax.swing.tree.TreeCellEditor)
。
像所有JComponent
类一样,您可以使用InputMap
和ActionMap
将Action
对象与KeyStroke
关联,并在指定条件下执行操作。
警告:此类的序列化对象将不兼容未来的Swing版本。当前的序列化支持适用于短期存储或在运行相同Swing版本的应用程序之间进行RMI。从1.4开始,已将所有JavaBeans的长期存储支持添加到java.beans
包中。请参阅XMLEncoder
。
- 自从:
- 1.2
-
Nested Class Summary
Modifier and TypeClassDescriptionprotected class
此类为JTree
类实现了辅助功能支持。static final class
代表JTree
的一个拖放位置的TransferHandler.DropLocation
的子类。static class
DynamicUtilTreeNode
可以包装向量/哈希表/数组/字符串,并根据需要创建适当的子树节点。protected static class
EmptySelectionModel
是一个不允许选择任何内容的TreeSelectionModel
。protected class
监听模型并在节点被移除或更改时相应地更新expandedState
。protected class
处理使用JTree
作为源创建新的TreeSelectionEvent
,并将其传递给所有监听器。Nested classes/interfaces declared in class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces declared in class java.awt.Container
Container.AccessibleAWTContainer
Nested classes/interfaces declared in class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
锚定选择路径的绑定属性名称。static final String
cellEditor
的绑定属性名称。static final String
cellRenderer
的绑定属性名称。protected TreeCellEditor
条目的编辑器。protected TreeCellRenderer
用于绘制节点的单元格。protected boolean
树是否可编辑?static final String
editable
的绑定属性名称。static final String
展开选定路径属性的绑定属性名称。static final String
messagesStopCellEditing
的绑定属性名称。protected boolean
如果为true,则通过选择更改、树中的数据更改或其他方式停止编辑时,将调用stopCellEditing
,并保存更改。static final String
largeModel
的绑定属性名称。protected boolean
此树是否为大型模型?static final String
leadSelectionPath
的绑定属性名称。static final String
rootVisible
的绑定属性名称。protected boolean
如果根节点显示,则为true,如果其子节点是最高可见节点,则为false。static final String
rowHeight
的绑定属性名称。protected int
每个显示行使用的高度。static final String
scrollsOnExpand
的绑定属性名称。protected boolean
如果为true,则展开节点时,将滚动到尽可能多的后代节点。static final String
selectionModel
的绑定属性名称。protected TreeSelectionModel
模型,定义此树显示的选定节点集。protected JTree.TreeSelectionRedirector
创建一个新事件并将其传递给selectionListeners
。static final String
showsRootHandles
的绑定属性名称。protected boolean
如果在树的最顶层显示句柄,则为true。static final String
toggleClickCount
的绑定属性名称。protected int
展开节点之前的鼠标点击次数。static final String
treeModel
的绑定属性名称。protected TreeModel
定义此对象显示的树的模型。protected TreeModelListener
更新expandedState
。static final String
visibleRowCount
的绑定属性名称。protected int
一次使多少行可见。Fields declared in class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields declared in class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields declared in interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
ConstructorDescriptionJTree()
返回一个带有示例模型的JTree
。返回一个JTree
,其中指定数组的每个元素作为新根节点的子节点,但不显示根节点。返回一个从Hashtable
创建的JTree
,不显示根节点。返回一个JTree
,其中指定Vector
的每个元素作为新根节点的子节点,但不显示根节点。返回一个根据指定数据模型创建的JTree
实例,显示根节点。返回一个以指定TreeNode
为根的JTree
,显示根节点。返回一个以指定TreeNode
为根的JTree
,显示根节点,并根据指定方式决定节点是否为叶节点。 -
Method Summary
Modifier and TypeMethodDescriptionvoid
addSelectionInterval
(int index0, int index1) 将指定行(包括)添加到选择中。void
addSelectionPath
(TreePath path) 将由指定TreePath
标识的节点添加到当前选择中。void
addSelectionPaths
(TreePath[] paths) 将数组中的每个路径添加到当前选择中。void
addSelectionRow
(int row) 将指定行处的路径添加到当前选择中。void
addSelectionRows
(int[] rows) 将每个指定行处的路径添加到当前选择中。void
添加TreeExpansion
事件的监听器。void
添加TreeSelection
事件的监听器。void
添加TreeWillExpand
事件的监听器。void
取消当前的编辑会话。void
清除选择。protected void
清除切换的树路径的缓存。void
collapsePath
(TreePath path) 确保由指定路径标识的节点折叠并可见。void
collapseRow
(int row) 确保指定行处的节点折叠。convertValueToText
(Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) 由渲染器调用,将指定值转换为文本。protected static TreeModel
createTreeModel
(Object value) 返回包装指定对象的TreeModel
。protected TreeModelListener
创建并返回TreeModelHandler
的实例。void
expandPath
(TreePath path) 确保由指定路径标识的节点展开并可见。void
expandRow
(int row) 确保指定行处的节点展开并可见。void
fireTreeCollapsed
(TreePath path) 通知所有已注册对此事件类型感兴趣的监听器。void
fireTreeExpanded
(TreePath path) 通知所有已注册对此事件类型感兴趣的监听器。void
fireTreeWillCollapse
(TreePath path) 通知所有已注册对此事件类型感兴趣的监听器。void
fireTreeWillExpand
(TreePath path) 通知所有已注册对此事件类型感兴趣的监听器。protected void
通知所有已注册对此事件类型感兴趣的侦听器。获取与此JTree关联的AccessibleContext。返回标识为锚点的路径。返回用于编辑树中条目的编辑器。返回当前渲染每个单元格的TreeCellRenderer。getClosestPathForLocation
(int x, int y) 返回最接近x,y的节点路径。int
getClosestRowForLocation
(int x, int y) 返回最接近x,y的节点行。protected static TreeModel
创建并返回一个示例TreeModel。protected Enumeration
<TreePath> getDescendantToggledPaths
(TreePath parent) 返回已展开的是父代的TreePaths的Enumeration。boolean
返回是否启用自动拖动处理。final JTree.DropLocation
返回组件在DnD操作期间应在视觉上指示为放置位置的位置,如果当前不显示任何位置,则返回null。final DropMode
返回此组件的放置模式。返回当前正在编辑的元素的路径。getExpandedDescendants
(TreePath parent) 返回当前展开的是父代的路径parent的后代的Enumeration。boolean
返回expandsSelectedPaths属性。boolean
返回指示在编辑被中断时会发生什么的指示器。返回所选路径的最后路径组件。返回标识为引导的路径。int
返回与引导路径对应的行索引。int
返回最大的选定行。int
返回最小的选定行。getModel()
返回提供数据的TreeModel。getNextMatch
(String prefix, int startingRow, Position.Bias bias) 返回下一个以前缀开头的树元素的TreePath。protected TreePath[]
getPathBetweenRows
(int index0, int index1) 返回指定行之间(包括)的路径。getPathBounds
(TreePath path) 返回指定节点将绘制到的Rectangle。getPathForLocation
(int x, int y) 返回指定位置的节点的路径。getPathForRow
(int row) 返回指定行的路径。返回JTree的首选显示大小。getRowBounds
(int row) 返回指定行的节点将绘制到的Rectangle。int
返回可视节点的数量。int
getRowForLocation
(int x, int y) 返回指定位置的行。int
getRowForPath
(TreePath path) 返回显示由指定路径标识的节点的行。int
返回每行的高度。int
getScrollableBlockIncrement
(Rectangle visibleRect, int orientation, int direction) 返回块增量的量,基于方向,即visibleRect的高度或宽度。boolean
返回false以指示视口的高度不确定表格的高度,除非树的首选高度小于视口的高度。boolean
返回false以指示视口的宽度不确定表格的宽度,除非树的首选宽度小于视口的宽度。int
getScrollableUnitIncrement
(Rectangle visibleRect, int orientation, int direction) 返回滚动时要增加的量。boolean
返回scrollsOnExpand属性的值。int
返回选择的节点数。返回选择模型。返回第一个选定节点的路径。TreePath[]
返回所有选定值的路径。int[]
返回当前选定的所有行。boolean
返回showsRootHandles属性的值。int
返回展开或关闭节点所需的鼠标点击次数。getToolTipText
(MouseEvent event) 重写JComponent的getToolTipText方法,以便在设置文本时使用渲染器的提示。返回添加到此JTree的所有TreeExpansionListener的数组。返回添加到此JTree的所有TreeSelectionListener的数组。返回添加到此JTree的所有TreeWillExpandListener的数组。getUI()
返回渲染此组件的L&F对象。返回渲染此组件的L&F类的名称。int
返回显示在显示区域中的行数。boolean
hasBeenExpanded
(TreePath path) 如果由路径标识的节点曾经展开,则返回true。boolean
isCollapsed
(int row) 如果指定显示行处的节点已折叠,则返回true。boolean
isCollapsed
(TreePath path) 如果由路径标识的值当前已折叠,则返回true;如果路径中的任何值当前未显示,则返回false。boolean
返回树是否可编辑。boolean
返回树是否正在编辑。boolean
isExpanded
(int row) 如果指定显示行处的节点当前已展开,则返回true。boolean
isExpanded
(TreePath path) 如果由路径标识的节点当前已展开,则返回true。boolean
如果每个显示行的高度是固定大小,则返回true。boolean
返回树是否配置为大型模型。boolean
isPathEditable
(TreePath path) 返回isEditable。boolean
isPathSelected
(TreePath path) 如果由路径标识的项当前已选定,则返回true。boolean
如果树的根节点正在显示,则返回true。boolean
isRowSelected
(int row) 如果由行标识的节点已选定,则返回true。boolean
如果选择当前为空,则返回true。boolean
如果由路径标识的值当前可见,即它是根节点或其所有父节点都已展开,则返回true。void
makeVisible
(TreePath path) 确保由路径标识的节点当前可见。protected String
返回此JTree的字符串表示形式。protected boolean
removeDescendantSelectedPaths
(TreePath path, boolean includePath) 删除选择中是路径的后代的任何路径。protected void
removeDescendantToggledPaths
(Enumeration<TreePath> toRemove) 删除已展开的toRemove中TreePaths的任何后代。void
removeSelectionInterval
(int index0, int index1) 从选择中删除指定的行(包括)。void
removeSelectionPath
(TreePath path) 从当前选择中删除指定路径标识的节点。void
removeSelectionPaths
(TreePath[] paths) 从当前选择中删除指定路径标识的节点。void
removeSelectionRow
(int row) 从当前选择中删除索引为row的行。void
removeSelectionRows
(int[] rows) 从当前选择中删除每个指定行处选定的行。void
删除TreeExpansion事件的侦听器。void
删除TreeSelection侦听器。void
删除TreeWillExpand事件的侦听器。void
scrollPathToVisible
(TreePath path) 确保路径中的所有路径组件都已展开(除了最后一个路径组件),并滚动以便显示由路径标识的节点。void
scrollRowToVisible
(int row) 滚动标识为row的项目,直到显示为止。void
setAnchorSelectionPath
(TreePath newPath) 设置标识为锚点的路径。void
setCellEditor
(TreeCellEditor cellEditor) 设置单元格编辑器。void
设置用于绘制每个单元格的TreeCellRenderer。void
setDragEnabled
(boolean b) 打开或关闭自动拖动处理。final void
setDropMode
(DropMode dropMode) 设置此组件的放置模式。void
setEditable
(boolean flag) 确定树是否可编辑。protected void
setExpandedState
(TreePath path, boolean state) 设置此JTree的展开状态。void
setExpandsSelectedPaths
(boolean newValue) 配置expandsSelectedPaths属性。void
setInvokesStopCellEditing
(boolean newValue) 确定在编辑被其他树节点选择、树的数据更改或其他方式中断时会发生什么。void
setLargeModel
(boolean newValue) 指定UI是否应使用大型模型。void
setLeadSelectionPath
(TreePath newPath) 设置标识为引导的路径。void
设置将提供数据的TreeModel。void
setRootVisible
(boolean rootVisible) 确定TreeModel的根节点是否可见。void
setRowHeight
(int rowHeight) 设置每个单元格的高度(以像素为单位)。void
setScrollsOnExpand
(boolean newValue) 设置scrollsOnExpand属性,该属性确定树是否会滚动以显示先前隐藏的子节点。void
setSelectionInterval
(int index0, int index1) 选择指定间隔内的行(包括)。void
setSelectionModel
(TreeSelectionModel selectionModel) 设置树的选择模型。void
setSelectionPath
(TreePath path) 选择由指定路径标识的节点。void
setSelectionPaths
(TreePath[] paths) 选择由指定路径数组标识的节点。void
setSelectionRow
(int row) 选择显示中指定行处的节点。void
setSelectionRows
(int[] rows) 选择显示中每个指定行处的节点。void
setShowsRootHandles
(boolean newValue) 设置showsRootHandles属性的值,该属性指定是否显示节点句柄。void
setToggleClickCount
(int clickCount) 设置展开或关闭节点所需的鼠标点击次数。void
设置渲染此组件的L&F对象。void
setVisibleRowCount
(int newCount) 设置要显示的行数。void
startEditingAtPath
(TreePath path) 选择由指定路径标识的节点并启动编辑。boolean
结束当前的编辑会话。void
当树已更改足够需要调整边界大小但不足以删除展开的节点集时发送(例如,节点已展开或折叠,或节点已插入到树中)。void
updateUI()
来自UIManager的通知,L&F已更改。Methods declared in class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
Methods declared in class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
Methods declared in class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Field Details
-
treeModel
定义此对象显示的树的模型。 -
selectionModel
模型所定义的树中选定节点的集合。 -
rootVisible
protected boolean rootVisible如果显示根节点,则为true;如果其子节点是最高可见节点,则为false。 -
cellRenderer
用于绘制节点的单元格。如果为null,则UI使用默认的cellRenderer。 -
rowHeight
protected int rowHeight每个显示行使用的高度。如果此值<= 0,则渲染器确定每行的高度。 -
showsRootHandles
protected boolean showsRootHandles如果在树的最顶层显示句柄,则为True。句柄是显示在节点旁边的小图标,允许用户单击一次展开或折叠节点。一个常见的界面为可以展开的节点显示加号(+),可以折叠的节点显示减号(-)。句柄总是显示在最顶层以下的节点。
如果
rootVisible
设置指定要显示根节点,则根节点是最顶层的唯一节点。如果不显示根节点,则所有子节点都在树的最顶层。句柄总是显示在除最顶层之外的节点。如果根节点不可见,通常最好将此值设置为true。否则,树看起来就像一个列表,用户可能不知道“列表条目”实际上是树节点。
- 参见:
-
selectionRedirector
创建一个新事件并将其传递给selectionListeners
。 -
cellEditor
条目的编辑器。默认为null
(树不可编辑)。 -
editable
protected boolean editable树是否可编辑?默认为false。 -
largeModel
protected boolean largeModel此树是否为大型模型?这是一个代码优化设置。当所有节点的单元高度相同时,可以使用大型模型。UI将缓存很少的信息,而是不断地向模型发送消息。没有大型模型时,UI会缓存大部分信息,从而减少对模型的方法调用。此值仅供UI参考。并非所有UI都会利用它。默认值为false。
-
visibleRowCount
protected int visibleRowCount一次可见的行数。此值用于Scrollable
接口。它确定显示区域的首选大小。 -
invokesStopCellEditing
protected boolean invokesStopCellEditing如果为true,则通过更改选择、更改树中的数据或其他方式停止编辑时,将调用stopCellEditing
,并保存更改。如果为false,则调用cancelCellEditing
,并丢弃更改。默认为false。 -
scrollsOnExpand
protected boolean scrollsOnExpand如果为true,则展开节点时,将滚动到尽可能多的后代节点可见。 -
toggleClickCount
protected int toggleClickCount在展开节点之前的鼠标点击次数。 -
treeModelListener
更新expandedState
。 -
CELL_RENDERER_PROPERTY
cellRenderer
的绑定属性名称。- 参见:
-
TREE_MODEL_PROPERTY
treeModel
的绑定属性名称。- 参见:
-
ROOT_VISIBLE_PROPERTY
rootVisible
的绑定属性名称。- 参见:
-
SHOWS_ROOT_HANDLES_PROPERTY
showsRootHandles
的绑定属性名称。- 参见:
-
ROW_HEIGHT_PROPERTY
rowHeight
的绑定属性名称。- 参见:
-
CELL_EDITOR_PROPERTY
cellEditor
的绑定属性名称。- 参见:
-
EDITABLE_PROPERTY
editable
的绑定属性名称。- 参见:
-
LARGE_MODEL_PROPERTY
largeModel
的绑定属性名称。- 参见:
-
SELECTION_MODEL_PROPERTY
选择模型的绑定属性名称。- 参见:
-
VISIBLE_ROW_COUNT_PROPERTY
visibleRowCount
的绑定属性名称。- 参见:
-
INVOKES_STOP_CELL_EDITING_PROPERTY
messagesStopCellEditing
的绑定属性名称。- 参见:
-
SCROLLS_ON_EXPAND_PROPERTY
scrollsOnExpand
的绑定属性名称。- 参见:
-
TOGGLE_CLICK_COUNT_PROPERTY
toggleClickCount
的绑定属性名称。- 参见:
-
LEAD_SELECTION_PATH_PROPERTY
leadSelectionPath
的绑定属性名称。- 自1.3起:
- 1.3
- 参见:
-
ANCHOR_SELECTION_PATH_PROPERTY
锚定选择路径的绑定属性名称。- 自1.3起:
- 1.3
- 参见:
-
EXPANDS_SELECTED_PATHS_PROPERTY
展开选定路径属性的绑定属性名称- 自1.3起:
- 1.3
- 参见:
-
-
Constructor Details
-
JTree
public JTree()返回一个带有示例模型的JTree
。树的默认模型将叶节点定义为没有子节点的任何节点。- 参见:
-
JTree
返回一个JTree
,其中指定数组的每个元素作为新根节点的子节点,新根节点不显示。默认情况下,树将叶节点定义为没有子节点的任何节点。- 参数:
-
value
- 一个Object
数组 - 参见:
-
JTree
返回一个JTree
,其中指定Vector
的每个元素作为新根节点的子节点,新根节点不显示。默认情况下,树将叶节点定义为没有子节点的任何节点。- 参数:
-
value
- 一个Vector
- 参见:
-
JTree
返回一个从Hashtable
创建的JTree
,不显示根节点。在HashTable
中的键/值对的每个值成为新根节点的子节点。默认情况下,树将叶节点定义为没有子节点的任何节点。- 参数:
-
value
- 一个Hashtable
- 参见:
-
JTree
返回一个以指定TreeNode
为根节点的JTree
,显示根节点。默认情况下,树将叶节点定义为没有子节点的任何节点。- 参数:
-
root
- 一个TreeNode
对象 - 参见:
-
JTree
返回一个以指定TreeNode
为根节点的JTree
,显示根节点,并根据指定的方式决定节点是否为叶节点。- 参数:
-
root
- 一个TreeNode
对象 -
asksAllowsChildren
- 如果为false,则没有子节点的任何节点都是叶节点;如果为true,则只有不允许有子节点的节点是叶节点 - 参见:
-
JTree
返回一个使用指定数据模型创建的显示根节点的JTree
实例。- 参数:
-
newModel
- 要用作数据模型的TreeModel
-
-
Method Details
-
getDefaultTreeModel
创建并返回一个示例TreeModel
。主要用于beanbuilders以显示有趣的内容。- 返回:
-
默认
TreeModel
-
createTreeModel
返回包装指定对象的TreeModel
。如果对象是:Object
数组,Hashtable
,或Vector
"root"
的新根节点。- 参数:
-
value
- 用作TreeModel
基础的Object
- 返回:
-
包装指定对象的
TreeModel
-
getUI
返回渲染此组件的L&F对象。- 覆盖:
-
getUI
在类JComponent
中 - 返回:
-
渲染此组件的
TreeUI
对象
-
setUI
@BeanProperty(hidden=true, visualUpdate=true, description="The UI object that implements the Component\'s LookAndFeel.") public void setUI(TreeUI ui) 设置渲染此组件的L&F对象。这是一个绑定属性。
- 参数:
-
ui
-TreeUI
L&F对象 - 参见:
-
updateUI
public void updateUI()来自UIManager
的通知,L&F已更改。用UIManager
的最新版本替换当前UI对象。- 覆盖:
-
updateUI
在类JComponent
中 - 参见:
-
getUIClassID
返回渲染此组件的L&F类的名称。- 覆盖:
-
getUIClassID
在类JComponent
中 - 返回:
- 字符串"TreeUI"
- 参见:
-
getCellRenderer
返回正在渲染每个单元格的当前TreeCellRenderer
。- 返回:
-
正在渲染每个单元格的
TreeCellRenderer
-
setCellRenderer
@BeanProperty(description="The TreeCellRenderer that will be used to draw each cell.") public void setCellRenderer(TreeCellRenderer x) 设置将用于绘制每个单元格的TreeCellRenderer
。这是一个绑定属性。
- 参数:
-
x
- 用于渲染每个单元格的TreeCellRenderer
-
setEditable
确定树是否可编辑。如果新设置与现有设置不同,则触发属性更改事件。这是一个绑定属性。
- 参数:
-
flag
- 一个布尔值,如果树可编辑则为true
-
isEditable
public boolean isEditable()如果树可编辑,则返回true。- 返回:
- 如果树可编辑,则为true
-
setCellEditor
@BeanProperty(description="The cell editor. A null value implies the tree cannot be edited.") public void setCellEditor(TreeCellEditor cellEditor) 设置单元格编辑器。null
值表示树无法编辑。如果这代表cellEditor
的更改,则在所有侦听器上调用propertyChange
方法。这是一个绑定属性。
- 参数:
-
cellEditor
- 要使用的TreeCellEditor
-
getCellEditor
返回用于编辑树中条目的编辑器。- 返回:
-
正在使用的
TreeCellEditor
,如果树无法编辑则返回null
-
getModel
返回提供数据的TreeModel
。- 返回:
-
提供数据的
TreeModel
-
setModel
@BeanProperty(description="The TreeModel that will provide the data.") public void setModel(TreeModel newModel) 设置将提供数据的TreeModel
。这是一个绑定属性。
- 参数:
-
newModel
- 将提供数据的TreeModel
-
isRootVisible
public boolean isRootVisible()如果树的根节点显示,则返回true。- 返回:
- 如果树的根节点显示,则为true
- 参见:
-
setRootVisible
@BeanProperty(description="Whether or not the root node from the TreeModel is visible.") public void setRootVisible(boolean rootVisible) 确定TreeModel
的根节点是否可见。这是一个绑定属性。
- 参数:
-
rootVisible
- 如果树的根节点应显示则为true - 参见:
-
setShowsRootHandles
@BeanProperty(description="Whether the node handles are to be displayed.") public void setShowsRootHandles(boolean newValue) 设置scrollsOnExpand
属性,确定树是否可以滚动以显示先前隐藏的子项。如果此属性为true
(默认值),则当节点展开时,树可以使用滚动使节点的最大可能数量的后代可见。在某些外观中,展开时可能不需要滚动树;这些外观将忽略此属性。这是一个绑定属性。
- 参数:
-
newValue
- 如果应显示根句柄则为true
;否则为false
- 参见:
-
getShowsRootHandles
public boolean getShowsRootHandles()返回showsRootHandles
属性的值。- 返回:
-
showsRootHandles
属性的值 - 参见:
-
setRowHeight
设置每个单元格的高度,以像素为单位。如果指定的值小于或等于零,则将查询当前单元格渲染器以获取每行的高度。这是一个绑定属性。
- 参数:
-
rowHeight
- 每个单元格的高度,以像素为单位
-
getRowHeight
public int getRowHeight()返回每行的高度。如果返回的值小于或等于0,则每行的高度由渲染器确定。- 返回:
- 每行的高度
-
isFixedRowHeight
返回每个显示行的高度是否固定大小。- 返回:
- 每行的高度是否固定大小
-
setLargeModel
@BeanProperty(description="Whether the UI should use a large model.") public void setLargeModel(boolean newValue) 指定UI是否应使用大型模型。(并非所有UI都会实现此功能。)为LARGE_MODEL_PROPERTY
触发属性更改。这是一个绑定属性。
- 参数:
-
newValue
- 为UI建议大型模型则为true - 参见:
-
isLargeModel
public boolean isLargeModel()如果树配置为使用大型模型,则返回true。- 返回:
- 如果建议使用大型模型则为true
- 参见:
-
setInvokesStopCellEditing
@BeanProperty(description="Determines what happens when editing is interrupted, selecting another node in the tree, a change in the tree\'s data, or some other means.") public void setInvokesStopCellEditing(boolean newValue) 确定通过选择树中的另一个节点、树的数据更改或其他方式中断编辑时会发生什么。将此属性设置为true
会导致在编辑中断时自动保存更改。为
INVOKES_STOP_CELL_EDITING_PROPERTY
触发属性更改。- 参数:
-
newValue
- 如果编辑中断时调用stopCellEditing
并保存数据则为true;如果调用cancelCellEditing
并丢失更改则为false
-
getInvokesStopCellEditing
public boolean getInvokesStopCellEditing()返回编辑中断时会发生的指示器。- 返回:
- 编辑中断时会发生的指示器
- 参见:
-
setScrollsOnExpand
@BeanProperty(description="Indicates if a node descendant should be scrolled when expanded.") public void setScrollsOnExpand(boolean newValue) 设置scrollsOnExpand
属性,确定树是否可能滚动以显示先前隐藏的子项。如果此属性为true
(默认值),则当节点展开时,树可以使用滚动使节点的最大可能数量的后代可见。在某些外观中,展开时可能不需要滚动树;这些外观将忽略此属性。这是一个绑定属性。
- 参数:
-
newValue
-false
以禁用展开时的滚动;true
以启用 - 参见:
-
getScrollsOnExpand
public boolean getScrollsOnExpand()返回scrollsOnExpand
属性的值。- 返回:
-
scrollsOnExpand
属性的值
-
setToggleClickCount
@BeanProperty(description="Number of clicks before a node will expand/collapse.") public void setToggleClickCount(int clickCount) 设置在节点展开或关闭之前需要的鼠标点击次数。默认值为两次。这是一个绑定属性。
- 参数:
-
clickCount
- 展开或关闭节点所需的鼠标点击次数 - 自1.3起:
- 1.3
-
getToggleClickCount
public int getToggleClickCount()返回展开或关闭节点所需的鼠标点击次数。- 返回:
- 展开节点所需的鼠标点击次数
- 自1.3起:
- 1.3
-
setExpandsSelectedPaths
@BeanProperty(description="Indicates whether changes to the selection should make the parent of the path visible.") public void setExpandsSelectedPaths(boolean newValue) 配置expandsSelectedPaths
属性。如果为true,则每当选择更改时,无论是通过TreeSelectionModel
还是JTree
提供的覆盖方法,都会展开TreePath
的父项以使其可见(可见意味着父路径已展开,不一定在JTree
的可见矩形中)。如果为false,则在选择更改时,节点的父项不会变为可见(所有其父项都展开)。如果希望选择模型维护并非始终可见的路径(所有父项都展开),则此选项很有用。这是一个绑定属性。
- 参数:
-
newValue
-expandsSelectedPaths
的新值 - 自1.3起:
- 1.3
-
getExpandsSelectedPaths
public boolean getExpandsSelectedPaths()返回expandsSelectedPaths
属性。- 返回值:
- 如果选择更改导致父路径展开,则返回true
- 自版本:
- 1.3
- 另请参阅:
-
setDragEnabled
@BeanProperty(bound=false, description="determines whether automatic drag handling is enabled") public void setDragEnabled(boolean b) 打开或关闭自动拖动处理。为了启用自动拖动处理,此属性应设置为true
,并且树的TransferHandler
需要是non-null
。dragEnabled
属性的默认值为false
。尊重此属性并识别用户拖动手势的工作由外观实现负责,特别是树的
TreeUI
。当启用自动拖动处理时,大多数外观(包括那些子类化BasicLookAndFeel
的外观)会在用户按下鼠标按钮并将鼠标移动几个像素时开始拖放操作。因此,将此属性设置为true
可能会对选择行为产生微妙影响。如果使用忽略此属性的外观,则仍然可以通过在树的
TransferHandler
上调用exportAsDrag
来开始拖放操作。- 参数:
-
b
- 是否启用自动拖动处理 - 抛出:
-
HeadlessException
- 如果b
为true
且GraphicsEnvironment.isHeadless()
返回true
- 自版本:
- 1.4
- 另请参阅:
-
getDragEnabled
public boolean getDragEnabled()返回是否启用自动拖动处理。- 返回值:
-
dragEnabled
属性的值 - 自版本:
- 1.4
- 另请参阅:
-
setDropMode
设置此组件的放置模式。为了向后兼容,此属性的默认值为DropMode.USE_SELECTION
。然而,建议使用其他模式中的一个,以获得更好的用户体验。例如,DropMode.ON
提供类似的行为,显示项目为选定状态,但不会影响树中的实际选择。JTree
支持以下放置模式:DropMode.USE_SELECTION
DropMode.ON
DropMode.INSERT
DropMode.ON_OR_INSERT
如果此组件具有接受放置的
TransferHandler
,则放置模式才有意义。- 参数:
-
dropMode
- 要使用的放置模式 - 抛出:
-
IllegalArgumentException
- 如果放置模式不受支持或为null
- 自版本:
- 1.6
- 另请参阅:
-
getDropMode
返回此组件的放置模式。- 返回值:
- 此组件的放置模式
- 自版本:
- 1.6
- 另请参阅:
-
getDropLocation
返回此组件在拖放操作期间应在其中视觉指示为放置位置的位置,如果当前不应显示任何位置,则返回null
。此方法不适用于从
TransferHandler
查询放置位置,因为放置位置仅在TransferHandler
的canImport
返回并允许显示位置后设置。当此属性更改时,组件将触发名称为“dropLocation”的属性更改事件。
- 返回值:
- 放置位置
- 自版本:
- 1.6
- 另请参阅:
-
isPathEditable
返回isEditable
。在编辑开始之前,UI会调用此方法以确保给定路径可以编辑。这是为了让子类添加过滤编辑而提供的入口点,而无需创建新的编辑器。- 参数:
-
path
- 标识节点的TreePath
- 返回值:
- 如果每个父节点和节点本身都可编辑,则返回true
- 另请参阅:
-
getToolTipText
重写JComponent
的getToolTipText
方法,以便允许使用渲染器的提示(如果已设置文本)。注意:为了使
JTree
正确显示其渲染器的工具提示,JTree
必须是ToolTipManager
中注册的组件。这可以通过调用ToolTipManager.sharedInstance().registerComponent(tree)
来完成。这不会自动完成!- 重写:
-
getToolTipText
在类JComponent
- 参数:
-
event
- 触发ToolTip
显示的MouseEvent
- 返回值:
-
包含工具提示的字符串,如果
event
为null,则返回null
-
convertValueToText
public String convertValueToText(Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) 由渲染器调用,将指定的值转换为文本。此实现返回value.toString
,忽略所有其他参数。要控制转换,子类化此方法并使用您需要的任何参数。- 参数:
-
value
- 要转换为文本的Object
-
selected
- 如果节点已选中,则为true -
expanded
- 如果节点已展开,则为true -
leaf
- 如果节点是叶节点,则为true -
row
- 指定节点的显示行的整数,其中0是显示中的第一行 -
hasFocus
- 如果节点具有焦点,则为true - 返回值:
-
节点值的
String
表示
-
getRowCount
返回可视节点的数量。如果所有父节点都已展开,则节点是可视的。如果isRootVisible()
为true
,则根节点仅在此计数中包括。如果尚未设置UI,则返回0
。- 返回值:
- 可视节点的数量
-
setSelectionPath
选择由指定路径标识的节点。如果路径的任何组件被隐藏(在折叠节点下),并且getExpandsSelectedPaths
为true,则会显示(可视化)它。- 参数:
-
path
- 指定要选择的节点的TreePath
-
setSelectionPaths
选择由指定路径数组标识的节点。如果任何路径中的任何组件被隐藏(在折叠节点下),并且getExpandsSelectedPaths
为true,则会显示(可视化)它。- 参数:
-
paths
- 指定要选择的节点的TreePath
对象数组
-
setLeadSelectionPath
设置作为主导的路径标识。主导路径可能未被选中。主导路径不由JTree
维护,而是UI将更新它。这是一个绑定属性。
- 参数:
-
newPath
- 新的主导路径 - 自版本:
- 1.3
-
setAnchorSelectionPath
@BeanProperty(description="Anchor selection path") public void setAnchorSelectionPath(TreePath newPath) 设置作为锚点的路径标识。锚点不由JTree
维护,而是UI将更新它。这是一个绑定属性。
- 参数:
-
newPath
- 新的锚点路径 - 自版本:
- 1.3
-
setSelectionRow
public void setSelectionRow(int row) 选择显示中指定行的节点。- 参数:
-
row
- 要选择的行,其中0是显示中的第一行
-
setSelectionRows
public void setSelectionRows(int[] rows) 选择显示中每个指定行对应的节点。如果rows
中的特定元素为< 0或>=getRowCount
,则将忽略该元素。如果rows
中的元素都不是有效行,则选择将被清除。这将类似于调用clearSelection
。- 参数:
-
rows
- 一个指定要选择的行的整数数组,其中0表示显示中的第一行
-
addSelectionPath
将由指定TreePath
标识的节点添加到当前选择中。如果路径的任何组件不可见,并且getExpandsSelectedPaths
为true,则会使其可见。请注意,
JTree
不允许重复节点存在为同一父节点的子节点 - 每个兄弟节点必须是唯一的对象。- 参数:
-
path
- 要添加的TreePath
-
addSelectionPaths
将数组中的每个路径添加到当前选择中。如果任何路径中的任何组件不可见,并且getExpandsSelectedPaths
为true,则会使其可见。请注意,
JTree
不允许重复节点存在为同一父节点的子节点 - 每个兄弟节点必须是唯一的对象。- 参数:
-
paths
- 一个TreePath
对象数组,指定要添加的节点
-
addSelectionRow
public void addSelectionRow(int row) 将指定行的路径添加到当前选择。- 参数:
-
row
- 指定要添加的节点的行数,其中0是显示中的第一行
-
addSelectionRows
public void addSelectionRows(int[] rows) 将每个指定行的路径添加到当前选择。- 参数:
-
rows
- 一个整数数组,指定要添加的行数,其中0表示显示中的第一行
-
getLastSelectedPathComponent
返回所选路径的最后一个路径组件。这是一个方便的方法,用于getSelectionModel().getSelectionPath().getLastPathComponent()
。如果选择只有一个路径,则通常只有这个方法有用。- 返回:
-
所选路径的最后一个路径组件,如果没有选择任何内容则返回
null
- 另请参阅:
-
getLeadSelectionPath
返回标识为主导的路径。- 返回:
- 标识为主导的路径
-
getAnchorSelectionPath
返回标识为锚点的路径。- 返回:
- 标识为锚点的路径
- 自1.3起:
- 1.3
-
getSelectionPath
返回第一个选定节点的路径。- 返回:
-
第一个选定节点的
TreePath
,如果当前没有选择任何内容则返回null
-
getSelectionPaths
返回所有选定值的路径。- 返回:
-
一个
TreePath
对象数组,指示选定的节点,如果当前没有选择任何内容则返回null
-
getSelectionRows
public int[] getSelectionRows()返回当前选定的所有行。此方法简单地转发到TreeSelectionModel
。如果没有选择任何内容,则根据TreeSelectionModel
的实现将返回null
或空数组。- 返回:
- 一个整数数组,标识当前选定的所有行,其中0是显示中的第一行
-
getSelectionCount
返回选定的节点数。- 返回:
- 选定的节点数
-
getMinSelectionRow
返回最小的选定行。如果选择为空,或者没有选定的路径可见,则返回-1
。- 返回:
- 最小的选定行
-
getMaxSelectionRow
返回最大的选定行。如果选择为空,或者没有选定的路径可见,则返回-1
。- 返回:
- 最大的选定行
-
getLeadSelectionRow
返回与主导路径对应的行索引。- 返回:
-
给出主导路径的行索引的整数,其中0是显示中的第一行;如果
leadPath
为null
则返回-1
-
isPathSelected
如果由路径标识的项目当前被选中,则返回true。- 参数:
-
path
- 标识节点的TreePath
- 返回:
- 如果节点被选中则返回true
-
isRowSelected
public boolean isRowSelected(int row) 如果由行标识的节点当前被选中,则返回true。- 参数:
-
row
- 指定显示行的整数,其中0是显示中的第一行 - 返回:
- 如果节点被选中则返回true
-
getExpandedDescendants
返回parent
路径的后代的Enumeration
,这些后代当前已展开。如果parent
当前未展开,则将返回null
。如果在返回的Enumeration
上迭代时展开/折叠节点,则可能无法返回所有展开的路径,或者可能返回不再展开的路径。- 参数:
-
parent
- 要检查的路径 - 返回:
-
parent
的后代的Enumeration
,如果parent
当前未展开则返回null
-
hasBeenExpanded
如果由路径标识的节点曾经被展开,则返回true。- 参数:
-
path
- 标识节点的TreePath
- 返回:
-
如果
path
曾经被展开则返回true
-
isExpanded
如果由路径标识的节点当前被展开,则返回true,- 参数:
-
path
- 指定要检查的节点的TreePath
- 返回:
- 如果路径中的任何节点已折叠则返回false,如果路径中的所有节点都已展开则返回true
-
isExpanded
public boolean isExpanded(int row) 如果由指定显示行的节点当前被展开,则返回true。- 参数:
-
row
- 要检查的行,其中0是显示中的第一行 - 返回:
- 如果节点当前已展开则返回true,否则返回false
-
isCollapsed
如果由路径标识的值当前被折叠,则返回true,如果路径中的任何值当前未显示,则返回false。- 参数:
-
path
- 要检查的TreePath
- 返回:
- 如果路径中的任何节点已折叠则返回true,如果路径中的所有节点都已展开则返回false
-
isCollapsed
public boolean isCollapsed(int row) 如果由指定显示行的节点当前被折叠,则返回true。- 参数:
-
row
- 要检查的行,其中0是显示中的第一行 - 返回:
- 如果节点当前已折叠则返回true,否则返回false
-
makeVisible
确保由路径标识的节点当前可见。- 参数:
-
path
- 要使其可见的TreePath
-
isVisible
如果由路径标识的值当前可见,则返回true,这意味着它要么是根节点,要么其所有父节点都已展开。否则,此方法返回false。- 参数:
-
path
- 标识节点的TreePath
- 返回:
- 如果节点可见则返回true,否则返回false
-
getPathBounds
返回指定节点将绘制到的Rectangle
。如果路径中的任何组件被隐藏(在折叠的父节点下),则返回null
。注意:
即使指定节点当前未显示,此方法也会返回有效的矩形。- 参数:
-
path
- 标识节点的TreePath
- 返回:
-
节点绘制在的
Rectangle
,或null
-
getRowBounds
返回指定行中的节点将绘制到的Rectangle
。- 参数:
-
row
- 要绘制的行,其中0是显示中的第一行 - 返回:
-
节点绘制在的
Rectangle
-
scrollPathToVisible
确保路径中的所有路径组件都已展开(除了最后一个路径组件),并滚动以便显示由路径标识的节点。仅当此JTree
包含在JScrollPane
中时才有效。- 参数:
-
path
- 标识要显示的节点的TreePath
-
scrollRowToVisible
public void scrollRowToVisible(int row) 滚动由行标识的项目直到显示。执行将行带入视图所需的最小滚动量。仅当此JTree
包含在JScrollPane
中时才有效。- 参数:
-
row
- 指定要滚动的行,其中0是显示中的第一行
-
getPathForRow
返回指定行的路径。如果row
不可见,或者未设置TreeUI
,则返回null
。- 参数:
-
row
- 指定行的整数 - 返回:
-
指定节点的
TreePath
,如果row < 0
或row >= getRowCount()
则返回null
-
getRowForPath
返回显示由指定路径标识的节点的行。- 参数:
-
path
- 标识节点的TreePath
- 返回:
- 指定显示行的整数,其中0是显示中的第一行,如果路径中的任何元素被隐藏在折叠的父节点下则返回-1
-
expandPath
确保由指定路径标识的节点已展开并可见。如果路径中的最后一个项目是叶子节点,则此操作不会产生任何效果。- 参数:
-
path
- 标识节点的TreePath
-
expandRow
public void expandRow(int row) 确保指定行中的节点已展开并可见。如果
row
是< 0或>=getRowCount
,则此操作不会产生任何效果。- 参数:
-
row
- 指定显示行的整数,其中0是显示中的第一行
-
collapsePath
确保由指定路径标识的节点已折叠并可见。- 参数:
-
path
- 标识节点的TreePath
-
collapseRow
public void collapseRow(int row) 确保指定行中的节点已折叠。如果
row
是< 0或>=getRowCount
,则此操作不会产生任何效果。- 参数:
-
row
- 指定显示行的整数,其中0是显示中的第一行
-
getPathForLocation
返回指定位置节点的路径。- 参数:
-
x
- 从显示区域左边缘开始的像素数,减去任何左边距 -
y
- 从显示区域顶部开始的像素数,减去任何顶部边距 - 返回:
-
该位置节点的
TreePath
-
getRowForLocation
public int getRowForLocation(int x, int y) 返回指定位置的行。- 参数:
-
x
- 从显示区域左边缘水平像素数减去任何左边距的整数 -
y
- 从显示区域顶部垂直像素数减去任何顶部边距的整数 - 返回:
- 与该位置对应的行,如果位置不在显示单元的范围内则返回-1
- 参见:
-
getClosestPathForLocation
返回最接近x,y的节点的路径。如果当前没有可视节点,或者没有模型,则返回null
,否则始终返回有效路径。要测试节点是否正好在x,y处,请获取节点的边界并将x,y与其进行比较。- 参数:
-
x
- 从显示区域左边缘水平像素数减去任何左边距的整数 -
y
- 从显示区域顶部垂直像素数减去任何顶部边距的整数 - 返回:
-
最接近该位置的节点的
TreePath
,如果没有可视内容或没有模型则返回null
- 参见:
-
getClosestRowForLocation
public int getClosestRowForLocation(int x, int y) 返回最接近x,y的节点的行。如果没有可视节点或没有模型,则返回-1。否则,始终返回有效行。要测试返回的对象是否正好在x,y处,请获取返回行处节点的边界并将x,y与其进行比较。- 参数:
-
x
- 从显示区域左边缘水平像素数减去任何左边距的整数 -
y
- 从显示区域顶部垂直像素数减去任何顶部边距的整数 - 返回:
- 最接近该位置的行,如果没有可视内容或没有模型则返回-1
- 参见:
-
isEditing
如果树正在编辑,则返回true。可以使用getSelectionPath
获取正在编辑的项目。- 返回:
- 如果用户当前正在编辑节点,则返回true
- 参见:
-
stopEditing
public boolean stopEditing()结束当前的编辑会话。(DefaultTreeCellEditor
对象会保存当前正在进行的单元格编辑。其他实现可能会有不同的操作方式。)如果树没有被编辑,则不会产生任何效果。注意:
要使编辑保存在用户更改树中的位置时自动进行,请使用setInvokesStopCellEditing(boolean)
。- 返回:
- 如果编辑正在进行并已停止,则返回true,如果编辑未进行则返回false
-
cancelEditing
public void cancelEditing()取消当前的编辑会话。如果树没有被编辑,则不会产生任何效果。 -
startEditingAtPath
选择由指定路径标识的节点并开始编辑。如果CellEditor
不允许为指定项目进行编辑,则编辑尝试失败。- 参数:
-
path
- 标识节点的TreePath
-
getEditingPath
返回当前正在编辑的元素的路径。- 返回:
-
正在编辑的节点的
TreePath
-
setSelectionModel
@BeanProperty(description="The tree\'s selection model.") public void setSelectionModel(TreeSelectionModel selectionModel) 设置树的选择模型。当指定null
值时,将使用空的selectionModel
,它不允许进行选择。这是一个绑定属性。
- 参数:
-
selectionModel
- 要使用的TreeSelectionModel
,或者指定null
以禁用选择 - 参见:
-
getSelectionModel
返回选择模型。这应始终返回非null
值。如果不希望允许选择任何内容,请将选择模型设置为null
,这将强制使用空选择模型。- 返回:
- 选择模型
- 参见:
-
getPathBetweenRows
返回指定行之间(包括)的路径。如果指定的索引在可视行集内,或者边界可视行集,则索引将受到可视行集的限制。如果指定的索引不在可视行集内,或者不边界可视行集,则返回一个空数组。例如,如果行数为10
,并且使用-1, 20
调用此方法,则指定的索引将受到可视行集的限制,并且将被视为使用0, 9
调用。另一方面,如果使用-10, -1
调用,则指定的索引不边界可视行集,将返回一个空数组。参数的顺序不影响结果。也就是说,
getPathBetweenRows(x, y)
等同于getPathBetweenRows(y, x)
。如果行数为
0
,或者指定的索引不边界可视行集,则返回一个空数组。- 参数:
-
index0
- 范围内的第一个索引 -
index1
- 范围内的最后一个索引 - 返回:
- 指定行索引之间(包括)的路径
-
setSelectionInterval
public void setSelectionInterval(int index0, int index1) 选择指定间隔内的行(包括)。如果指定的索引在可视行集内,或者边界可视行集,则指定的行将受到可视行集的限制。如果指定的索引不在可视行集内,或者不边界可视行集,则选择将被清除。例如,如果行数为10
,并且使用-1, 20
调用此方法,则指定的索引将边界可视范围,并且将被视为使用0, 9
调用。另一方面,如果使用-10, -1
调用,则指定的索引不边界可视行集,选择将被清除。参数的顺序不影响结果。也就是说,
setSelectionInterval(x, y)
等同于setSelectionInterval(y, x)
。- 参数:
-
index0
- 要选择的范围内的第一个索引 -
index1
- 要选择的范围内的最后一个索引
-
addSelectionInterval
public void addSelectionInterval(int index0, int index1) 将指定的行(包括)添加到选择中。如果指定的索引在可视行集内,或者边界可视行集,则指定的索引将受到可视行集的限制。如果索引不在可视行集内,或者不边界可视行集,则选择不会改变。例如,如果行数为10
,并且使用-1, 20
调用此方法,则指定的索引将边界可视范围,并且将被视为使用0, 9
调用。另一方面,如果使用-10, -1
调用,则指定的索引不边界可视行集,选择不会改变。参数的顺序不影响结果。也就是说,
addSelectionInterval(x, y)
等同于addSelectionInterval(y, x)
。- 参数:
-
index0
- 要添加到选择中的范围内的第一个索引 -
index1
- 要添加到选择中的范围内的最后一个索引
-
removeSelectionInterval
public void removeSelectionInterval(int index0, int index1) 从选择中移除指定的行(包括)。如果指定的索引在可视行集内,或者边界可视行集,则指定的索引将受到可视行集的限制。如果指定的索引不在可视行集内,或者不边界可视行集,则选择不会改变。例如,如果行数为10
,并且使用-1, 20
调用此方法,则指定的范围边界可视范围,并且将被视为使用0, 9
调用。另一方面,如果使用-10, -1
调用,则指定的范围不边界可视行集,选择不会改变。参数的顺序不影响结果。也就是说,
removeSelectionInterval(x, y)
等同于removeSelectionInterval(y, x)
。- 参数:
-
index0
- 要从选择中移除的第一个行 -
index1
- 要从选择中移除的最后一个行
-
removeSelectionPath
从当前选择中移除由指定路径标识的节点。- 参数:
-
path
- 标识节点的TreePath
-
removeSelectionPaths
从当前选择中移除由指定路径标识的节点。- 参数:
-
paths
- 指定要移除的节点的TreePath
对象数组
-
removeSelectionRow
public void removeSelectionRow(int row) 从当前选择中移除指定索引row
处的行。- 参数:
-
row
- 要移除的行
-
removeSelectionRows
public void removeSelectionRows(int[] rows) 从当前选择中移除在指定行中选择的行。- 参数:
-
rows
- 指定显示行的整数数组,其中0是显示中的第一行
-
clearSelection
public void clearSelection()清除选择。 -
isSelectionEmpty
如果选择当前为空,则返回true。- 返回:
- 如果选择当前为空,则返回true
-
addTreeExpansionListener
添加TreeExpansion
事件的监听器。- 参数:
-
tel
- 一个TreeExpansionListener,当树节点展开或折叠时将收到通知("负展开")
-
removeTreeExpansionListener
移除一个TreeExpansion
事件的监听器。- 参数:
-
tel
- 要移除的TreeExpansionListener
-
getTreeExpansionListeners
返回添加到此JTree中的所有TreeExpansionListener
的数组,使用addTreeExpansionListener()方法。- 返回:
-
所有已添加的
TreeExpansionListener
,如果没有添加监听器则返回空数组 - 自版本:
- 1.4
-
addTreeWillExpandListener
添加一个TreeWillExpand
事件的监听器。- 参数:
-
tel
- 一个TreeWillExpandListener
,当树节点将要展开或折叠时将收到通知("负展开")
-
removeTreeWillExpandListener
移除一个TreeWillExpand
事件的监听器。- 参数:
-
tel
- 要移除的TreeWillExpandListener
-
getTreeWillExpandListeners
返回添加到此JTree中的所有TreeWillExpandListener
的数组,使用addTreeWillExpandListener()方法。- 返回:
-
所有已添加的
TreeWillExpandListener
,如果没有添加监听器则返回空数组 - 自版本:
- 1.4
-
fireTreeExpanded
通知所有已注册对此事件类型感兴趣的监听器。事件实例是使用path
参数延迟创建的。- 参数:
-
path
- 指示已展开的节点的TreePath
- 参见:
-
fireTreeCollapsed
通知所有已注册对此事件类型感兴趣的监听器。事件实例是使用path
参数延迟创建的。- 参数:
-
path
- 指示已折叠的节点的TreePath
- 参见:
-
fireTreeWillExpand
通知所有已注册对此事件类型感兴趣的监听器。事件实例是使用path
参数延迟创建的。- 参数:
-
path
- 指示已展开的节点的TreePath
- 抛出:
-
ExpandVetoException
- 如果阻止展开发生 - 参见:
-
fireTreeWillCollapse
通知所有已注册对此事件类型感兴趣的监听器。事件实例是使用path
参数延迟创建的。- 参数:
-
path
- 指示已展开的节点的TreePath
- 抛出:
-
ExpandVetoException
- 如果阻止折叠发生 - 参见:
-
addTreeSelectionListener
添加一个TreeSelection
事件的监听器。- 参数:
-
tsl
- 当选择或取消选择节点时将收到通知的TreeSelectionListener
("负选择")
-
removeTreeSelectionListener
移除一个TreeSelection
监听器。- 参数:
-
tsl
- 要移除的TreeSelectionListener
-
getTreeSelectionListeners
返回添加到此JTree中的所有TreeSelectionListener
的数组,使用addTreeSelectionListener()方法。- 返回:
-
所有已添加的
TreeSelectionListener
,如果没有添加监听器则返回空数组 - 自版本:
- 1.4
-
fireValueChanged
通知所有已注册对此事件类型感兴趣的监听器。- 参数:
-
e
- 要触发的TreeSelectionEvent
;由TreeSelectionModel
在选择或取消选择节点时生成 - 参见:
-
treeDidChange
public void treeDidChange()当树已更改足够需要调整边界大小,但不足以需要移除展开的节点集时发送。例如,节点已展开或折叠,或节点已插入到树中。您不应该调用此方法,UI将根据需要调用此方法。 -
setVisibleRowCount
@BeanProperty(description="The number of rows that are to be displayed.") public void setVisibleRowCount(int newCount) 设置要显示的行数。只有当树包含在JScrollPane
中时才有效,并且将调整该滚动窗格的首选大小和大小。这是一个绑定属性。
- 参数:
-
newCount
- 要显示的行数
-
getVisibleRowCount
public int getVisibleRowCount()返回显示区域中显示的行数。- 返回:
- 显示的行数
-
getNextMatch
返回下一个以前缀开头的树元素的TreePath。为了处理TreePath
到String的转换,使用convertValueToText
。- 参数:
-
prefix
- 要匹配的字符串 -
startingRow
- 开始搜索的行 -
bias
- 搜索方向,可以是Position.Bias.Forward或Position.Bias.Backward。 - 返回:
- 以前缀开头的下一个树元素的TreePath;否则为null
- 抛出:
-
IllegalArgumentException
- 如果前缀为null或startingRow超出范围 - 自版本:
- 1.4
-
getPreferredScrollableViewportSize
返回JTree
的首选显示大小。高度由getVisibleRowCount
确定,宽度为当前首选宽度。- 指定者:
-
getPreferredScrollableViewportSize
在接口Scrollable
- 返回:
-
包含首选大小的
Dimension
对象 - 参见:
-
getScrollableUnitIncrement
返回滚动时的增量。增量是第一个未完全显示在视图中的行的高度,或者如果完全显示,则是滚动方向中下一行的高度。- 指定者:
-
getScrollableUnitIncrement
在接口Scrollable
- 参数:
-
visibleRect
- 视口内可见的视图区域 -
orientation
-SwingConstants.VERTICAL
或SwingConstants.HORIZONTAL
-
direction
- 小于零向上/左滚动,大于零向下/右滚动 - 返回:
- 指定方向的"单位"增量滚动
- 参见:
-
getScrollableBlockIncrement
返回块增量的数量,基于visibleRect
的高度或宽度,取决于orientation
。- 指定者:
-
getScrollableBlockIncrement
在接口Scrollable
- 参数:
-
visibleRect
- 视口内可见的视图区域 -
orientation
-SwingConstants.VERTICAL
或SwingConstants.HORIZONTAL
-
direction
- 小于零向上/左滚动,大于零向下/右滚动 - 返回:
- 指定方向的"块"增量滚动
- 参见:
-
getScrollableTracksViewportWidth
返回false以指示视口的宽度不确定表格的宽度,除非树的首选宽度小于视口的宽度。换句话说:确保树永远不小于其视口。- 指定者:
-
getScrollableTracksViewportWidth
在接口Scrollable
- 返回:
- 树是否应该跟踪视口的宽度
- 参见:
-
getScrollableTracksViewportHeight
返回false以指示视口的高度不确定表格的高度,除非树的首选高度小于视口的高度。换句话说:确保树永远不小于其视口。- 指定由:
-
getScrollableTracksViewportHeight
在接口Scrollable
中 - 返回:
- 树是否应该跟踪视口的高度
- 参见:
-
setExpandedState
设置此JTree
的展开状态。如果state
为true,则将标记path
的所有父级和路径为展开。如果state
为false,则将标记path
的所有父级为展开,但path
本身将被标记为折叠。如果
TreeWillExpandListener
否决此操作,则会失败。- 参数:
-
path
- 标识节点的TreePath
-
state
- 如果为true
,则将标记path
的所有父级和路径为展开。否则,将标记path
的所有父级为展开,但path
本身将被标记为折叠。
-
getDescendantToggledPaths
返回一个TreePaths
的Enumeration
,这些路径已经展开且是parent
的后代。- 参数:
-
parent
- 一个路径 - 返回:
-
TreePaths
的Enumeration
-
removeDescendantToggledPaths
移除已展开的TreePaths
中在toRemove
中的任何后代。- 参数:
-
toRemove
- 要移除的路径的枚举;如果为null
则忽略 - 抛出:
-
ClassCastException
- 如果toRemove
包含一个不是TreePath
的元素;null
值将被忽略
-
clearToggledPaths
protected void clearToggledPaths()清除已切换的树路径的缓存。这不会发送任何TreeExpansionListener
事件。 -
createTreeModelListener
- 返回:
-
TreeModelHandler
的实例
-
removeDescendantSelectedPaths
移除选择中是path
的后代的任何路径。如果includePath
为true且path
被选中,则它将从选择中移除。- 参数:
-
path
- 一个路径 -
includePath
- 如果为true
且path
被选中,则它将从选择中移除。 - 返回:
- 如果一个后代被选中,则返回true
- 自:
- 1.3
-
paramString
返回此JTree
的字符串表示形式。此方法仅用于调试目的,返回的字符串的内容和格式可能因实现而异。返回的字符串可能为空,但不能为null
。- 覆盖:
-
paramString
在类JComponent
中 - 返回:
-
此
JTree
的字符串表示形式。
-
getAccessibleContext
获取与此JTree关联的AccessibleContext。对于JTree,AccessibleContext采用AccessibleJTree的形式。如果需要,将创建一个新的AccessibleJTree实例。- 指定由:
-
getAccessibleContext
在接口Accessible
中 - 覆盖:
-
getAccessibleContext
在类Component
中 - 返回:
- 作为此JTree的AccessibleContext的AccessibleJTree
-