|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.awt.Component | +--java.awt.Container | +--javax.swing.JComponent | +--javax.swing.JTree
A control that displays a set of hierarchical data as an outline. A specific node can be identified either by a TreePath (an object that encapsulates a node and all of its ancestors), or by its display row, where each row in the display area displays one node.
An expanded node is one displays its children. A collapsed node is one which hides them. A hidden node is one which is under a collapsed parent. A viewable node is under a collapsed parent, but may or may not be displayed. A displayed node is both viewable and in the display area, where it can be seen.
These JTree methods use "visible" to mean "displayed":
isRootVisible()
setRootVisible()
scrollPathToVisible()
scrollRowToVisible()
getVisibleRowCount()
setVisibleRowCount()
These JTree methods use "visible" to mean "viewable" (under an expanded parent):
isVisible()
makeVisible()
If you are interested in knowing when the selection changes implement the TreeSelectionListener interface and add the instance using the method addTreeSelectionListener. valueChanged will be invoked when the selection changes, that is if the user clicks twice on the same node valueChanged will only be invoked once.
If you are interested in knowing either double clicks events or when a user clicks on a node, regardless of whether or not it was selected it is recommended you do the following:
final JTree tree = ...; MouseListener ml = new MouseAdapter() { public void mouseClicked(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);NOTE: This example obtains both the path and row, but you only need to get the one you're interested in.
To use JTree to display compound nodes (for example, nodes containing both
a graphic icon and text), subclass TreeCellRenderer
and use
#setTreeCellRenderer
to tell the tree to use it. To edit such nodes,
subclass TreeCellEditor
and use #setTreeCellEditor
.
Like all JComponent classes, you can use JComponent.registerKeyboardAction(java.awt.event.ActionListener, java.lang.String, javax.swing.KeyStroke, int)
to associate an Action
object with a KeyStroke
and execute the
action under specified conditions.
See How to Use Trees in The Java Tutorial for further documentation.
For the keyboard keys used by this component in the standard Look and Feel (L&F) renditions, see the JTree key assignments.
Warning: Serialized objects of this class will not be compatible with future Swing releases. The current serialization support is appropriate for short term storage or RMI between applications running the same version of Swing. A future release of Swing will provide support for long term persistence.
Inner Class Summary | |
static class |
JTree.DynamicUtilTreeNode
DynamicUtilTreeNode can wrap vectors/hashtables/arrays/strings and create the appropriate children tree nodes as necessary. |
Inner classes inherited from class javax.swing.JComponent |
javax.swing.JComponent.AccessibleJComponent |
Field Summary | |
static java.lang.String |
CELL_EDITOR_PROPERTY
Bound property name for cellEditor. |
static java.lang.String |
CELL_RENDERER_PROPERTY
Bound property name for cellRenderer. |
static java.lang.String |
EDITABLE_PROPERTY
Bound property name for editable. |
static java.lang.String |
INVOKES_STOP_CELL_EDITING_PROPERTY
Bound property name for messagesStopCellEditing. |
static java.lang.String |
LARGE_MODEL_PROPERTY
Bound property name for largeModel. |
static java.lang.String |
ROOT_VISIBLE_PROPERTY
Bound property name for rootVisible. |
static java.lang.String |
ROW_HEIGHT_PROPERTY
Bound property name for rowHeight. |
static java.lang.String |
SCROLLS_ON_EXPAND_PROPERTY
Bound property name for scrollsOnExpand. |
static java.lang.String |
SELECTION_MODEL_PROPERTY
Bound property name for selectionModel. |
static java.lang.String |
SHOWS_ROOT_HANDLES_PROPERTY
Bound property name for showsRootHandles. |
static java.lang.String |
TREE_MODEL_PROPERTY
Bound property name for treeModel. |
static java.lang.String |
VISIBLE_ROW_COUNT_PROPERTY
Bound property name for visibleRowCount. |
Fields inherited from class javax.swing.JComponent |
TOOL_TIP_TEXT_KEY,
UNDEFINED_CONDITION,
WHEN_ANCESTOR_OF_FOCUSED_COMPONENT,
WHEN_FOCUSED,
WHEN_IN_FOCUSED_WINDOW |
Fields inherited from class java.awt.Component |
BOTTOM_ALIGNMENT,
CENTER_ALIGNMENT,
LEFT_ALIGNMENT,
RIGHT_ALIGNMENT,
TOP_ALIGNMENT |
Constructor Summary | |
JTree()
Returns a JTree with a sample model. |
|
JTree(java.util.Hashtable value)
Returns a JTree created from a Hashtable which does not display the root. |
|
JTree(java.lang.Object[] value)
Returns a JTree with each element of the specified array as the child of a new root node which is not displayed. |
|
JTree(javax.swing.tree.TreeModel newModel)
Returns an instance of JTree which displays the root node -- the tree is created using the specified data model. |
|
JTree(javax.swing.tree.TreeNode root)
Returns a JTree with the specified TreeNode as its root, which displays the root node. |
|
JTree(javax.swing.tree.TreeNode root,
boolean asksAllowsChildren)
Returns a JTree with the specified TreeNode as its root, which displays the root node and which decides whether a node is a leaf node in the specified manner. |
|
JTree(java.util.Vector value)
Returns a JTree with each element of the specified Vector as the child of a new root node which is not displayed. |
Method Summary | |
void |
addSelectionInterval(int index0,
int index1)
Adds the paths between index0 and index1, inclusive, to the selection. |
void |
addSelectionPath(javax.swing.tree.TreePath path)
Adds the node identified by the specified TreePath to the current selection. |
void |
addSelectionPaths(javax.swing.tree.TreePath[] paths)
Adds each path in the array of paths to the current selection. |
void |
addSelectionRow(int row)
Adds the path at the specified row to the current selection. |
void |
addSelectionRows(int[] rows)
Adds the paths at each of the specified rows to the current selection. |
void |
addTreeExpansionListener(javax.swing.event.TreeExpansionListener tel)
Adds a listener for TreeExpansion events. |
void |
addTreeSelectionListener(javax.swing.event.TreeSelectionListener tsl)
Adds a listener for TreeSelection events. |
void |
addTreeWillExpandListener(javax.swing.event.TreeWillExpandListener tel)
Adds a listener for TreeWillExpand events. |
void |
cancelEditing()
Cancels the current editing session. |
void |
clearSelection()
Clears the selection. |
void |
collapsePath(javax.swing.tree.TreePath path)
Ensures that the node identified by the specified path is collapsed and viewable. |
void |
collapseRow(int row)
Ensures that the node in the specified row is collapsed. |
java.lang.String |
convertValueToText(java.lang.Object value,
boolean selected,
boolean expanded,
boolean leaf,
int row,
boolean hasFocus)
Called by the renderers to convert the specified value to text. |
void |
expandPath(javax.swing.tree.TreePath path)
Ensures that the node identified by the specified path is expanded and viewable. |
void |
expandRow(int row)
Ensures that the node in the specified row is expanded and viewable. |
void |
fireTreeCollapsed(javax.swing.tree.TreePath path)
Notify all listeners that have registered interest for notification on this event type. |
void |
fireTreeExpanded(javax.swing.tree.TreePath path)
Notify all listeners that have registered interest for notification on this event type. |
void |
fireTreeWillCollapse(javax.swing.tree.TreePath path)
Notify all listeners that have registered interest for notification on this event type. |
void |
fireTreeWillExpand(javax.swing.tree.TreePath path)
Notify all listeners that have registered interest for notification on this event type. |
javax.accessibility.AccessibleContext |
getAccessibleContext()
Get the AccessibleContext associated with this JComponent |
javax.swing.tree.TreeCellEditor |
getCellEditor()
Returns the editor used to edit entries in the tree. |
javax.swing.tree.TreeCellRenderer |
getCellRenderer()
Returns the current TreeCellRenderer that is rendering each cell. |
javax.swing.tree.TreePath |
getClosestPathForLocation(int x,
int y)
Returns the path to the node that is closest to x,y. |
int |
getClosestRowForLocation(int x,
int y)
Returns the row to the node that is closest to x,y. |
javax.swing.tree.TreePath |
getEditingPath()
Returns the path to the element that is currently being edited. |
java.util.Enumeration |
getExpandedDescendants(javax.swing.tree.TreePath parent)
Returns an Enumeration of the descendants of path that
are currently expanded. |
boolean |
getInvokesStopCellEditing()
Returns the indicator that tells what happens when editing is interrupted. |
java.lang.Object |
getLastSelectedPathComponent()
Returns the last path component in the first node of the current selection. |
javax.swing.tree.TreePath |
getLeadSelectionPath()
Returns the path of the last node added to the selection. |
int |
getLeadSelectionRow()
Returns the row index of the last node added to the selection. |
int |
getMaxSelectionRow()
Gets the last selected row. |
int |
getMinSelectionRow()
Gets the first selected row. |
javax.swing.tree.TreeModel |
getModel()
Returns the TreeModel that is providing the data. |
java.awt.Rectangle |
getPathBounds(javax.swing.tree.TreePath path)
Returns the Rectangle that the specified node will be drawn into. |
javax.swing.tree.TreePath |
getPathForLocation(int x,
int y)
Returns the path for the node at the specified location. |
javax.swing.tree.TreePath |
getPathForRow(int row)
Returns the path for the specified row. |
java.awt.Dimension |
getPreferredScrollableViewportSize()
Returns the preferred display size of a JTree. |
java.awt.Rectangle |
getRowBounds(int row)
Returns the Rectangle that the node at the specified row is drawn in. |
int |
getRowCount()
Returns the number of rows that are currently being displayed. |
int |
getRowForLocation(int x,
int y)
Returns the row for the specified location. |
int |
getRowForPath(javax.swing.tree.TreePath path)
Returns the row that displays the node identified by the specified path. |
int |
getRowHeight()
Returns the height of each row. |
int |
getScrollableBlockIncrement(java.awt.Rectangle visibleRect,
int orientation,
int direction)
Returns the amount for a block inrecment, which is the height or width of visibleRect , based on orientation . |
boolean |
getScrollableTracksViewportHeight()
Returns false to indicate that the height of the viewport does not determine the height of the table, unless the preferred height of the tree is smaller than the viewports height. |
boolean |
getScrollableTracksViewportWidth()
Returns false to indicate that the width of the viewport does not determine the width of the table, unless the preferred width of the tree is smaller than the viewports width. |
int |
getScrollableUnitIncrement(java.awt.Rectangle visibleRect,
int orientation,
int direction)
Returns the amount to increment when scrolling. |
boolean |
getScrollsOnExpand()
Returns true if the tree scrolls to show previously hidden children. |
int |
getSelectionCount()
Returns the number of nodes selected. |
javax.swing.tree.TreeSelectionModel |
getSelectionModel()
Returns the model for selections. |
javax.swing.tree.TreePath |
getSelectionPath()
Returns the path to the first selected node. |
javax.swing.tree.TreePath[] |
getSelectionPaths()
Returns the paths of all selected values. |
int[] |
getSelectionRows()
Returns all of the currently selected rows. |
boolean |
getShowsRootHandles()
Returns true if handles for the root nodes are displayed. |
java.lang.String |
getToolTipText(java.awt.event.MouseEvent event)
Overrides JComponent's getToolTipText method in order to allow renderer's tips to be used if it has text set. |
javax.swing.plaf.TreeUI |
getUI()
Returns the L&F object that renders this component. |
java.lang.String |
getUIClassID()
Returns the name of the L&F class that renders this component. |
int |
getVisibleRowCount()
Returns the number of rows that are displayed in the display area. |
boolean |
hasBeenExpanded(javax.swing.tree.TreePath path)
Returns true if the node identified by the path has ever been expanded. |
boolean |
isCollapsed(int row)
Returns true if the node at the specified display row is collapsed. |
boolean |
isCollapsed(javax.swing.tree.TreePath path)
Returns true if the value identified by path is currently collapsed, this will return false if any of the values in path are currently not being displayed. |
boolean |
isEditable()
Returns true if the tree is editable. |
boolean |
isEditing()
Returns true if the tree is being edited. |
boolean |
isExpanded(int row)
Returns true if the node at the specified display row is currently expanded. |
boolean |
isExpanded(javax.swing.tree.TreePath path)
Returns true if the node identified by the path is currently expanded, |
boolean |
isFixedRowHeight()
Returns true if the height of each display row is a fixed size. |
boolean |
isLargeModel()
Returns true if the tree is configured for a large model. |
boolean |
isPathEditable(javax.swing.tree.TreePath path)
Returns isEditable . |
boolean |
isPathSelected(javax.swing.tree.TreePath path)
Returns true if the item identified by the path is currently selected. |
boolean |
isRootVisible()
Returns true if the root node of the tree is displayed. |
boolean |
isRowSelected(int row)
Returns true if the node identitifed by row is selected. |
boolean |
isSelectionEmpty()
Returns true if the selection is currently empty. |
boolean |
isVisible(javax.swing.tree.TreePath path)
Returns true if the value identified by path is currently viewable, which means it is either the root or all of its parents are exapnded , Otherwise, this method returns false. |
void |
makeVisible(javax.swing.tree.TreePath path)
Ensures that the node identified by path is currently viewable. |
void |
removeSelectionInterval(int index0,
int index1)
Removes the nodes between index0 and index1, inclusive, from the selection. |
void |
removeSelectionPath(javax.swing.tree.TreePath path)
Removes the node identified by the specified path from the current selection. |
void |
removeSelectionPaths(javax.swing.tree.TreePath[] paths)
Removes the nodes identified by the specified paths from the current selection. |
void |
removeSelectionRow(int row)
Removes the path at the index row from the current
selection. |
void |
removeSelectionRows(int[] rows)
Removes the paths that are selected at each of the specified rows. |
void |
removeTreeExpansionListener(javax.swing.event.TreeExpansionListener tel)
Removes a listener for TreeExpansion events. |
void |
removeTreeSelectionListener(javax.swing.event.TreeSelectionListener tsl)
Removes a TreeSelection listener. |
void |
removeTreeWillExpandListener(javax.swing.event.TreeWillExpandListener tel)
Removes a listener for TreeWillExpand events. |
void |
scrollPathToVisible(javax.swing.tree.TreePath path)
Makes sure all the path components in path are expanded (except for the last path component) and scrolls so that the node identified by the path is displayed. |
void |
scrollRowToVisible(int row)
Scrolls the item identified by row until it is displayed. |
void |
setCellEditor(javax.swing.tree.TreeCellEditor cellEditor)
Sets the cell editor. |
void |
setCellRenderer(javax.swing.tree.TreeCellRenderer x)
Sets the TreeCellRenderer that will be used to draw each cell. |
void |
setEditable(boolean flag)
Determines whether the tree is editable. |
void |
setInvokesStopCellEditing(boolean newValue)
Determines what happens when editing is interrupted by selecting another node in the tree, a change in the tree's data, or by some other means. |
void |
setLargeModel(boolean newValue)
Specifies whether the UI should use a large model. |
void |
setModel(javax.swing.tree.TreeModel newModel)
Sets the TreeModel that will provide the data. |
void |
setRootVisible(boolean rootVisible)
Determines whether or not the root node from the TreeModel is visible. |
void |
setRowHeight(int rowHeight)
Sets the height of each cell. |
void |
setScrollsOnExpand(boolean newValue)
Determines whether or not when a node is expanded, as many of the descendants are scrolled to be inside the viewport as possible. |
void |
setSelectionInterval(int index0,
int index1)
Selects the nodes between index0 and index1, inclusive. |
void |
setSelectionModel(javax.swing.tree.TreeSelectionModel selectionModel)
Sets the tree's selection model. |
void |
setSelectionPath(javax.swing.tree.TreePath path)
Selects the node identified by the specified path. |
void |
setSelectionPaths(javax.swing.tree.TreePath[] paths)
Selects the nodes identified by the specified array of paths. |
void |
setSelectionRow(int row)
Selects the node at the specified row in the display. |
void |
setSelectionRows(int[] rows)
Selects the nodes corresponding to each of the specified rows in the display. |
void |
setShowsRootHandles(boolean newValue)
Determines whether the node handles are to be displayed. |
void |
setUI(javax.swing.plaf.TreeUI ui)
Sets the L&F object that renders this component. |
void |
setVisibleRowCount(int newCount)
Sets the number of rows that are to be displayed. |
void |
startEditingAtPath(javax.swing.tree.TreePath path)
Selects the node identified by the specified path and initiates editing. |
boolean |
stopEditing()
Ends the current editing session. |
void |
treeDidChange()
Sent when the tree has changed enough that we need to resize the bounds, but not enough that we need to remove the expanded node set (e.g nodes were expanded or collapsed, or nodes were inserted into the tree). |
void |
updateUI()
Notification from the UIManager that the L&F has changed. |
Methods inherited from class javax.swing.JComponent |
addAncestorListener,
addNotify,
addPropertyChangeListener,
addVetoableChangeListener,
computeVisibleRect,
contains,
createToolTip,
firePropertyChange,
firePropertyChange,
firePropertyChange,
firePropertyChange,
firePropertyChange,
firePropertyChange,
firePropertyChange,
firePropertyChange,
getActionForKeyStroke,
getAlignmentX,
getAlignmentY,
getAutoscrolls,
getBorder,
getBounds,
getClientProperty,
getConditionForKeyStroke,
getDebugGraphicsOptions,
getGraphics,
getHeight,
getInsets,
getInsets,
getLocation,
getMaximumSize,
getMinimumSize,
getNextFocusableComponent,
getPreferredSize,
getRegisteredKeyStrokes,
getRootPane,
getSize,
getToolTipLocation,
getToolTipText,
getTopLevelAncestor,
getVisibleRect,
getWidth,
getX,
getY,
grabFocus,
hasFocus,
isDoubleBuffered,
isFocusCycleRoot,
isFocusTraversable,
isLightweightComponent,
isManagingFocus,
isOpaque,
isOptimizedDrawingEnabled,
isPaintingTile,
isRequestFocusEnabled,
isValidateRoot,
paint,
paintImmediately,
paintImmediately,
putClientProperty,
registerKeyboardAction,
registerKeyboardAction,
removeAncestorListener,
removeNotify,
removePropertyChangeListener,
removeVetoableChangeListener,
repaint,
repaint,
requestDefaultFocus,
requestFocus,
resetKeyboardActions,
reshape,
revalidate,
scrollRectToVisible,
setAlignmentX,
setAlignmentY,
setAutoscrolls,
setBackground,
setBorder,
setDebugGraphicsOptions,
setDoubleBuffered,
setEnabled,
setFont,
setForeground,
setMaximumSize,
setMinimumSize,
setNextFocusableComponent,
setOpaque,
setPreferredSize,
setRequestFocusEnabled,
setToolTipText,
setVisible,
unregisterKeyboardAction,
update |
Methods inherited from class java.awt.Container |
add,
add,
add,
add,
add,
addContainerListener,
countComponents,
deliverEvent,
doLayout,
findComponentAt,
findComponentAt,
getComponent,
getComponentAt,
getComponentAt,
getComponentCount,
getComponents,
getLayout,
insets,
invalidate,
isAncestorOf,
layout,
list,
list,
locate,
minimumSize,
paintComponents,
preferredSize,
print,
printComponents,
remove,
remove,
removeAll,
removeContainerListener,
setLayout,
validate |
Methods inherited from class java.awt.Component |
action,
add,
addComponentListener,
addFocusListener,
addInputMethodListener,
addKeyListener,
addMouseListener,
addMouseMotionListener,
addPropertyChangeListener,
bounds,
checkImage,
checkImage,
contains,
createImage,
createImage,
disable,
dispatchEvent,
enable,
enable,
enableInputMethods,
getBackground,
getBounds,
getColorModel,
getComponentOrientation,
getCursor,
getDropTarget,
getFont,
getFontMetrics,
getForeground,
getInputContext,
getInputMethodRequests,
getLocale,
getLocation,
getLocationOnScreen,
getName,
getParent,
getPeer,
getSize,
getToolkit,
getTreeLock,
gotFocus,
handleEvent,
hide,
imageUpdate,
inside,
isDisplayable,
isEnabled,
isLightweight,
isShowing,
isValid,
isVisible,
keyDown,
keyUp,
list,
list,
list,
location,
lostFocus,
mouseDown,
mouseDrag,
mouseEnter,
mouseExit,
mouseMove,
mouseUp,
move,
nextFocus,
paintAll,
postEvent,
prepareImage,
prepareImage,
printAll,
remove,
removeComponentListener,
removeFocusListener,
removeInputMethodListener,
removeKeyListener,
removeMouseListener,
removeMouseMotionListener,
removePropertyChangeListener,
repaint,
repaint,
repaint,
resize,
resize,
setBounds,
setBounds,
setComponentOrientation,
setCursor,
setDropTarget,
setLocale,
setLocation,
setLocation,
setName,
setSize,
setSize,
show,
show,
size,
toString,
transferFocus |
Methods inherited from class java.lang.Object |
equals,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
Field Detail |
public static final java.lang.String CELL_RENDERER_PROPERTY
public static final java.lang.String TREE_MODEL_PROPERTY
public static final java.lang.String ROOT_VISIBLE_PROPERTY
public static final java.lang.String SHOWS_ROOT_HANDLES_PROPERTY
public static final java.lang.String ROW_HEIGHT_PROPERTY
public static final java.lang.String CELL_EDITOR_PROPERTY
public static final java.lang.String EDITABLE_PROPERTY
public static final java.lang.String LARGE_MODEL_PROPERTY
public static final java.lang.String SELECTION_MODEL_PROPERTY
public static final java.lang.String VISIBLE_ROW_COUNT_PROPERTY
public static final java.lang.String INVOKES_STOP_CELL_EDITING_PROPERTY
public static final java.lang.String SCROLLS_ON_EXPAND_PROPERTY
Constructor Detail |
public JTree()
DefaultTreeModel#asksAllowsChildren
public JTree(java.lang.Object[] value)
value
- an array of ObjectsDefaultTreeModel#asksAllowsChildren
public JTree(java.util.Vector value)
value
- a VectorDefaultTreeModel#asksAllowsChildren
public JTree(java.util.Hashtable value)
value
- a HashtableDefaultTreeModel#asksAllowsChildren
public JTree(javax.swing.tree.TreeNode root)
root
- a TreeNode objectDefaultTreeModel#asksAllowsChildren
public JTree(javax.swing.tree.TreeNode root, boolean asksAllowsChildren)
root
- a TreeNode objectasksAllowsChildren
- if false, any node without children is a
leaf node. If true, only nodes that do not allow
children are leaf nodes.DefaultTreeModel#asksAllowsChildren
public JTree(javax.swing.tree.TreeModel newModel)
newModel
- the TreeModel to use as the data modelMethod Detail |
public javax.swing.plaf.TreeUI getUI()
public void setUI(javax.swing.plaf.TreeUI ui)
ui
- the TreeUI L&F objectUIDefaults#getUI
public void updateUI()
JComponent.updateUI()
public java.lang.String getUIClassID()
JComponent.getUIClassID()
,
UIDefaults#getUI
public javax.swing.tree.TreeCellRenderer getCellRenderer()
public void setCellRenderer(javax.swing.tree.TreeCellRenderer x)
x
- the TreeCellRenderer that is to render each cellpublic void setEditable(boolean flag)
flag
- a boolean value, true if the tree is editablepublic boolean isEditable()
public void setCellEditor(javax.swing.tree.TreeCellEditor cellEditor)
cellEditor
- the TreeCellEditor to usepublic javax.swing.tree.TreeCellEditor getCellEditor()
public javax.swing.tree.TreeModel getModel()
public void setModel(javax.swing.tree.TreeModel newModel)
newModel
- the TreeModel that is to provide the datapublic boolean isRootVisible()
#rootVisible
public void setRootVisible(boolean rootVisible)
rootVisible
- true if the root node of the tree is to be displayed#rootVisible
public void setShowsRootHandles(boolean newValue)
newValue
- true if root handles are to be displayed#showsRootHandles
public boolean getShowsRootHandles()
#showsRootHandles
public void setRowHeight(int rowHeight)
rowHeight
- the height of each cell, in pixelspublic int getRowHeight()
the
- height of each cell, in pixels. Zero or negative if the
height of each row is determined by the tree cell rendererpublic boolean isFixedRowHeight()
public void setLargeModel(boolean newValue)
newValue
- true to suggest a large model to the UI#largeModel
public boolean isLargeModel()
#largeModel
public void setInvokesStopCellEditing(boolean newValue)
true
causes the
changes to be automatically saved when editing is interrupted.
Fires a property change for the INVOKES_STOP_CELL_EDITING_PROPERTY.
newValue
- true means that stopCellEditing is invoked when
editing is interruped, and data is saved. False means that
cancelCellEditing is invoked, and changes are lost.public boolean getInvokesStopCellEditing()
setInvokesStopCellEditing(boolean)
public void setScrollsOnExpand(boolean newValue)
public boolean getScrollsOnExpand()
public boolean isPathEditable(javax.swing.tree.TreePath path)
isEditable
. This is invoked from the UI before
editing begins to insure that the given path can be edited. This
is provided as an entry point for subclassers to add filtered
editing without having to resort to creating a new editor.isEditable()
public java.lang.String getToolTipText(java.awt.event.MouseEvent event)
NOTE: For JTree to properly display tooltips of its renderers
JTree must be a registered component with the ToolTipManager.
This can be done by invoking
ToolTipManager.sharedInstance().registerComponent(tree)
.
This is not done automaticly!
event
- the MouseEvent that initiated the ToolTip displaypublic java.lang.String convertValueToText(java.lang.Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus)
value
- the Object to convert to textselected
- true if the node is selectedexpanded
- true if the node is expandedleaf
- true if the node is a leaf noderow
- an int specifying the node's display row, where 0 is
the first row in the displayhasFocus
- true if the node has the focuspublic int getRowCount()
public void setSelectionPath(javax.swing.tree.TreePath path)
path
- the TreePath specifying the node to selectpublic void setSelectionPaths(javax.swing.tree.TreePath[] paths)
paths
- an array of TreePath objects that specifies the nodes
to selectpublic void setSelectionRow(int row)
row
- the row to select, where 0 is the first row in
the displaypublic void setSelectionRows(int[] rows)
rows
is
< 0 or >= getRowCount, it will be ignored. If none of the elements
in rows
are valid rows, the selection will
be cleared. That is it will be as if clearSelection
was invoked.rows
- an array of ints specifying the rows to select,
where 0 indicates the first row in the displaypublic void addSelectionPath(javax.swing.tree.TreePath path)
path
- the TreePath to addpublic void addSelectionPaths(javax.swing.tree.TreePath[] paths)
paths
- an array of TreePath objects that specifies the nodes
to addpublic void addSelectionRow(int row)
row
- an int specifying the row of the node to add,
where 0 is the first row in the displaypublic void addSelectionRows(int[] rows)
rows
- an array of ints specifying the rows to add,
where 0 indicates the first row in the displaypublic java.lang.Object getLastSelectedPathComponent()
TreePath.getLastPathComponent()
public javax.swing.tree.TreePath getSelectionPath()
public javax.swing.tree.TreePath[] getSelectionPaths()
public int[] getSelectionRows()
public int getSelectionCount()
public int getMinSelectionRow()
public int getMaxSelectionRow()
public int getLeadSelectionRow()
public javax.swing.tree.TreePath getLeadSelectionPath()
public boolean isPathSelected(javax.swing.tree.TreePath path)
path
- a TreePath identifying a nodepublic boolean isRowSelected(int row)
row
- an int specifying a display row, where 0 is the first
row in the displaypublic java.util.Enumeration getExpandedDescendants(javax.swing.tree.TreePath parent)
path
that
are currently expanded. If path
is not currently
expanded, this will return null. If you expand/collapse nodes while
iterating over the returned Enumeration this may not return all
the expanded paths, or may return paths that are no longer expanded.public boolean hasBeenExpanded(javax.swing.tree.TreePath path)
public boolean isExpanded(javax.swing.tree.TreePath path)
path
- the TreePath specifying the node to checkpublic boolean isExpanded(int row)
row
- the row to check, where 0 is the first row in the
displaypublic boolean isCollapsed(javax.swing.tree.TreePath path)
path
- the TreePath to checkpublic boolean isCollapsed(int row)
row
- the row to check, where 0 is the first row in the
displaypublic void makeVisible(javax.swing.tree.TreePath path)
path
- the TreePath to make visiblepublic boolean isVisible(javax.swing.tree.TreePath path)
public java.awt.Rectangle getPathBounds(javax.swing.tree.TreePath path)
Note:
This method returns a valid rectangle, even if the specified
node is not currently displayed.
path
- the TreePath identifying the nodepublic java.awt.Rectangle getRowBounds(int row)
row
- the row to be drawn, where 0 is the first row in the
displaypublic void scrollPathToVisible(javax.swing.tree.TreePath path)
path
- the TreePath identifying the node to bring into viewpublic void scrollRowToVisible(int row)
row
- an int specifying the row to scroll, where 0 is the
first row in the displaypublic javax.swing.tree.TreePath getPathForRow(int row)
row
- an int specifying a rowpublic int getRowForPath(javax.swing.tree.TreePath path)
path
- the TreePath identifying a nodepublic void expandPath(javax.swing.tree.TreePath path)
path
- the TreePath identifying a nodepublic void expandRow(int row)
If row
is < 0 or >= getRowCount this
will have no effect.
row
- an int specifying a display row, where 0 is the
first row in the displaypublic void collapsePath(javax.swing.tree.TreePath path)
path
- the TreePath identifying a nodepublic void collapseRow(int row)
If row
is < 0 or >= getRowCount this
will have no effect.
row
- an int specifying a display row, where 0 is the
first row in the displaypublic javax.swing.tree.TreePath getPathForLocation(int x, int y)
x
- an int giving the number of pixels horizontally from
the left edge of the display area, minus any left marginy
- an int giving the number of pixels vertically from
the top of the display area, minus any top marginpublic int getRowForLocation(int x, int y)
x
- an int giving the number of pixels horizontally from
the left edge of the display area, minus any left marginy
- an int giving the number of pixels vertically from
the top of the display area, minus any top margingetClosestRowForLocation(int, int)
public javax.swing.tree.TreePath getClosestPathForLocation(int x, int y)
x
- an int giving the number of pixels horizontally from
the left edge of the display area, minus any left marginy
- an int giving the number of pixels vertically from
the top of the display area, minus any top margingetPathForLocation(int, int)
,
getPathBounds(javax.swing.tree.TreePath)
public int getClosestRowForLocation(int x, int y)
x
- an int giving the number of pixels horizontally from
the left edge of the display area, minus any left marginy
- an int giving the number of pixels vertically from
the top of the display area, minus any top margingetRowForLocation(int, int)
,
getRowBounds(int)
public boolean isEditing()
getSelectionPath
.getSelectionPath()
public boolean stopEditing()
Note:
To make edit-saves automatic whenever the user changes their position in the tree, usesetInvokesStopCellEditing(boolean)
.
public void cancelEditing()
public void startEditingAtPath(javax.swing.tree.TreePath path)
path
- the TreePath identifying a nodepublic javax.swing.tree.TreePath getEditingPath()
public void setSelectionModel(javax.swing.tree.TreeSelectionModel selectionModel)
selectionModel
- the TreeSelectionModel to use, or null to
disable selectionsTreeSelectionModel
public javax.swing.tree.TreeSelectionModel getSelectionModel()
the
- TreeSelectionModel in usesetSelectionModel(javax.swing.tree.TreeSelectionModel)
public void setSelectionInterval(int index0, int index1)
index0
- an int specifying a display row, where 0 is the
first row in the displayindex0
- an int specifying a second display rowpublic void addSelectionInterval(int index0, int index1)
index0
- an int specifying a display row, where 0 is the
first row in the displayindex0
- an int specifying a second display rowpublic void removeSelectionInterval(int index0, int index1)
index0
- an int specifying a display row, where 0 is the
first row in the displayindex0
- an int specifying a second display rowpublic void removeSelectionPath(javax.swing.tree.TreePath path)
path
- the TreePath identifying a nodepublic void removeSelectionPaths(javax.swing.tree.TreePath[] paths)
paths
- an array of TreePath objects that specifies the nodes
to removepublic void removeSelectionRow(int row)
row
from the current
selection.path
- the TreePath identifying the node to removepublic void removeSelectionRows(int[] rows)
row
- an array of ints specifying display rows, where 0 is
the first row in the displaypublic void clearSelection()
public boolean isSelectionEmpty()
public void addTreeExpansionListener(javax.swing.event.TreeExpansionListener tel)
tel
- a TreeExpansionListener that will be notified when
a tree node is expanded or collapsed (a "negative
expansion")public void removeTreeExpansionListener(javax.swing.event.TreeExpansionListener tel)
tel
- the TreeExpansionListener to removepublic void addTreeWillExpandListener(javax.swing.event.TreeWillExpandListener tel)
tel
- a TreeWillExpandListener that will be notified when
a tree node will be expanded or collapsed (a "negative
expansion")public void removeTreeWillExpandListener(javax.swing.event.TreeWillExpandListener tel)
tel
- the TreeWillExpandListener to removepublic void fireTreeExpanded(javax.swing.tree.TreePath path)
path
- the TreePath indicating the node that was expandedEventListenerList
public void fireTreeCollapsed(javax.swing.tree.TreePath path)
path
- the TreePath indicating the node that was collapsedEventListenerList
public void fireTreeWillExpand(javax.swing.tree.TreePath path) throws javax.swing.tree.ExpandVetoException
path
- the TreePath indicating the node that was expandedEventListenerList
public void fireTreeWillCollapse(javax.swing.tree.TreePath path) throws javax.swing.tree.ExpandVetoException
path
- the TreePath indicating the node that was expandedEventListenerList
public void addTreeSelectionListener(javax.swing.event.TreeSelectionListener tsl)
tsl
- the TreeSelectionListener that will be notified when
a node is selected or deselected (a "negative
selection")public void removeTreeSelectionListener(javax.swing.event.TreeSelectionListener tsl)
tsl
- the TreeSelectionListener to removepublic void treeDidChange()
public void setVisibleRowCount(int newCount)
newCount
- the number of rows to displaypublic int getVisibleRowCount()
public java.awt.Dimension getPreferredScrollableViewportSize()
getVisibleRowCount
and the width
is the current preferred width.public int getScrollableUnitIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)
visibleRect
- The view area visible within the viewportorientation
- Either SwingConstants.VERTICAL or SwingConstants.HORIZONTAL.direction
- Less than zero to scroll up/left, greater than zero for down/right.JScrollBar#setUnitIncrement
public int getScrollableBlockIncrement(java.awt.Rectangle visibleRect, int orientation, int direction)
visibleRect
, based on orientation
.visibleRect
- The view area visible within the viewportorientation
- Either SwingConstants.VERTICAL or SwingConstants.HORIZONTAL.direction
- Less than zero to scroll up/left, greater than zero for down/right.JScrollBar#setBlockIncrement
public boolean getScrollableTracksViewportWidth()
Scrollable.getScrollableTracksViewportWidth()
public boolean getScrollableTracksViewportHeight()
Scrollable.getScrollableTracksViewportHeight()
public javax.accessibility.AccessibleContext getAccessibleContext()
|
|||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |