|
JavaTM 2 Platform Standard Edition |
|||||||||
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 | |
protected class |
JTree.AccessibleJTree
The class used to obtain the accessible role for this object. |
static class |
JTree.DynamicUtilTreeNode
DynamicUtilTreeNode can wrap vectors/hashtables/arrays/strings and create the appropriate children tree nodes as necessary. |
protected static class |
JTree.EmptySelectionModel
EmptySelectionModel is a TreeSelectionModel that does not allow anything to be selected. |
protected class |
JTree.TreeModelHandler
Listens to the model and updates the expandedState accordingly when nodes are removed, or changed. |
protected class |
JTree.TreeSelectionRedirector
Handles creating a new TreeSelectionEvent with the JTree as the source and passing it off to all the listeners. |
Inner classes inherited from class javax.swing.JComponent |
JComponent.AccessibleJComponent |
Field Summary | |
static String |
CELL_EDITOR_PROPERTY
Bound property name for cellEditor. |
static String |
CELL_RENDERER_PROPERTY
Bound property name for cellRenderer. |
protected TreeCellEditor |
cellEditor
Editor for the entries. |
protected TreeCellRenderer |
cellRenderer
The cell used to draw nodes. |
protected boolean |
editable
Is the tree editable? Default is false. |
static String |
EDITABLE_PROPERTY
Bound property name for editable. |
static String |
INVOKES_STOP_CELL_EDITING_PROPERTY
Bound property name for messagesStopCellEditing. |
protected boolean |
invokesStopCellEditing
If true, when editing is to be stopped by way of selection changing, data in tree changing or other means stopCellEditing is invoked, and changes are saved. |
static String |
LARGE_MODEL_PROPERTY
Bound property name for largeModel. |
protected boolean |
largeModel
Is this tree a large model? This is a code-optimization setting. |
static String |
ROOT_VISIBLE_PROPERTY
Bound property name for rootVisible. |
protected boolean |
rootVisible
True if the root node is displayed, false if its children are the highest visible nodes. |
static String |
ROW_HEIGHT_PROPERTY
Bound property name for rowHeight. |
protected int |
rowHeight
Height to use for each display row. |
static String |
SCROLLS_ON_EXPAND_PROPERTY
Bound property name for scrollsOnExpand. |
protected boolean |
scrollsOnExpand
If true, when a node is expanded, as many of the descendants are scrolled to be visible. |
static String |
SELECTION_MODEL_PROPERTY
Bound property name for selectionModel. |
protected TreeSelectionModel |
selectionModel
Models the set of selected nodes in this tree. |
protected JTree.TreeSelectionRedirector |
selectionRedirector
Creates a new event and passed it off the selectionListeners. |
static String |
SHOWS_ROOT_HANDLES_PROPERTY
Bound property name for showsRootHandles. |
protected boolean |
showsRootHandles
True if handles are displayed at the topmost level of the tree. |
protected int |
toggleClickCount
Number of mouse clicks before a node is expanded. |
static String |
TREE_MODEL_PROPERTY
Bound property name for treeModel. |
protected TreeModel |
treeModel
The model that defines the tree displayed by this object. |
protected TreeModelListener |
treeModelListener
Updates the expandedState. |
static String |
VISIBLE_ROW_COUNT_PROPERTY
Bound property name for visibleRowCount. |
protected int |
visibleRowCount
Number of rows to make visible at one time. |
Fields inherited from class javax.swing.JComponent |
accessibleContext,
listenerList,
TOOL_TIP_TEXT_KEY,
ui,
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(Hashtable value)
Returns a JTree created from a Hashtable which does not display the root. |
|
JTree(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(TreeModel newModel)
Returns an instance of JTree which displays the root node -- the tree is created using the specified data model. |
|
JTree(TreeNode root)
Returns a JTree with the specified TreeNode as its root, which displays the root node. |
|
JTree(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(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(TreePath path)
Adds the node identified by the specified TreePath to the current selection. |
void |
addSelectionPaths(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(TreeExpansionListener tel)
Adds a listener for TreeExpansion events. |
void |
addTreeSelectionListener(TreeSelectionListener tsl)
Adds a listener for TreeSelection events. |
void |
addTreeWillExpandListener(TreeWillExpandListener tel)
Adds a listener for TreeWillExpand events. |
void |
cancelEditing()
Cancels the current editing session. |
void |
clearSelection()
Clears the selection. |
protected void |
clearToggledPaths()
Clears the cache of toggled tree paths. |
void |
collapsePath(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. |
String |
convertValueToText(Object value,
boolean selected,
boolean expanded,
boolean leaf,
int row,
boolean hasFocus)
Called by the renderers to convert the specified value to text. |
protected static TreeModel |
createTreeModel(Object value)
Returns a TreeModel wrapping the specified object. |
protected TreeModelListener |
createTreeModelListener()
Creates and returns an instance of TreeModelHandler. |
void |
expandPath(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(TreePath path)
Notify all listeners that have registered interest for notification on this event type. |
void |
fireTreeExpanded(TreePath path)
Notify all listeners that have registered interest for notification on this event type. |
void |
fireTreeWillCollapse(TreePath path)
Notify all listeners that have registered interest for notification on this event type. |
void |
fireTreeWillExpand(TreePath path)
Notify all listeners that have registered interest for notification on this event type. |
protected void |
fireValueChanged(TreeSelectionEvent e)
Notify all listeners that have registered interest for notification on this event type. |
AccessibleContext |
getAccessibleContext()
Get the AccessibleContext associated with this JComponent |
TreeCellEditor |
getCellEditor()
Returns the editor used to edit entries in the tree. |
TreeCellRenderer |
getCellRenderer()
Returns the current TreeCellRenderer that is rendering each cell. |
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. |
protected static TreeModel |
getDefaultTreeModel()
Creates and returns a sample TreeModel. |
protected Enumeration |
getDescendantToggledPaths(TreePath parent)
Returns an Enumeration of TreePaths that have been expanded that are descendants of parent . |
TreePath |
getEditingPath()
Returns the path to the element that is currently being edited. |
Enumeration |
getExpandedDescendants(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. |
Object |
getLastSelectedPathComponent()
Returns the last path component in the first node of the current selection. |
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. |
TreeModel |
getModel()
Returns the TreeModel that is providing the data. |
protected TreePath[] |
getPathBetweenRows(int index0,
int index1)
Returns JTreePath instances representing the path between index0 and index1 (including index1). |
Rectangle |
getPathBounds(TreePath path)
Returns the Rectangle that the specified node will be drawn into. |
TreePath |
getPathForLocation(int x,
int y)
Returns the path for the node at the specified location. |
TreePath |
getPathForRow(int row)
Returns the path for the specified row. |
Dimension |
getPreferredScrollableViewportSize()
Returns the preferred display size of a JTree. |
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(TreePath path)
Returns the row that displays the node identified by the specified path. |
int |
getRowHeight()
Returns the height of each row. |
int |
getScrollableBlockIncrement(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(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. |
TreeSelectionModel |
getSelectionModel()
Returns the model for selections. |
TreePath |
getSelectionPath()
Returns the path to the first selected node. |
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. |
String |
getToolTipText(MouseEvent event)
Overrides JComponent's getToolTipText method in order to allow renderer's tips to be used if it has text set. |
TreeUI |
getUI()
Returns the L&F object that renders this component. |
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(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(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(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(TreePath path)
Returns isEditable . |
boolean |
isPathSelected(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(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(TreePath path)
Ensures that the node identified by path is currently viewable. |
protected String |
paramString()
Returns a string representation of this JTree. |
protected void |
removeDescendantToggledPaths(Enumeration toRemove)
Removes any descendants of the TreePaths in toRemove
that have been expanded. |
void |
removeSelectionInterval(int index0,
int index1)
Removes the nodes between index0 and index1, inclusive, from the selection. |
void |
removeSelectionPath(TreePath path)
Removes the node identified by the specified path from the current selection. |
void |
removeSelectionPaths(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(TreeExpansionListener tel)
Removes a listener for TreeExpansion events. |
void |
removeTreeSelectionListener(TreeSelectionListener tsl)
Removes a TreeSelection listener. |
void |
removeTreeWillExpandListener(TreeWillExpandListener tel)
Removes a listener for TreeWillExpand events. |
void |
scrollPathToVisible(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(TreeCellEditor cellEditor)
Sets the cell editor. |
void |
setCellRenderer(TreeCellRenderer x)
Sets the TreeCellRenderer that will be used to draw each cell. |
void |
setEditable(boolean flag)
Determines whether the tree is editable. |
protected void |
setExpandedState(TreePath path,
boolean state)
Sets the expanded state of the receiver. |
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(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(TreeSelectionModel selectionModel)
Sets the tree's selection model. |
void |
setSelectionPath(TreePath path)
Selects the node identified by the specified path. |
void |
setSelectionPaths(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(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(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 java.awt.Container |
add,
add,
add,
add,
add,
addContainerListener,
addImpl,
countComponents,
deliverEvent,
doLayout,
findComponentAt,
findComponentAt,
getComponent,
getComponentAt,
getComponentAt,
getComponentCount,
getComponents,
getLayout,
insets,
invalidate,
isAncestorOf,
layout,
list,
list,
locate,
minimumSize,
paintComponents,
preferredSize,
print,
printComponents,
processContainerEvent,
processEvent,
remove,
remove,
removeAll,
removeContainerListener,
setCursor,
setLayout,
validate,
validateTree |
Methods inherited from class java.lang.Object |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
wait,
wait,
wait |
Field Detail |
protected transient TreeModel treeModel
protected transient TreeSelectionModel selectionModel
protected boolean rootVisible
protected transient TreeCellRenderer cellRenderer
protected int rowHeight
protected boolean showsRootHandles
A handle is a small icon that displays adjacent to the node which allows the user to click once to expand or collapse the node. A common interface shows a plus sign (+) for a node which can be expanded and a minus sign (-) for a node which can be collapsed. Handles are always shown for nodes below the topmost level.
If the rootVisible
setting specifies that the root
node is to be displayed, then that is the only node at the topmost
level. If the root node is not displayed, then all of its
children are at the topmost level of the tree. Handles are
always displayed for nodes other than the topmost.
If the root node isn't visible, it is generally a good to make this value true. Otherwise, the tree looks exactly like a list, and users may not know that the "list entries" are actually tree nodes.
rootVisible
protected transient JTree.TreeSelectionRedirector selectionRedirector
protected transient TreeCellEditor cellEditor
protected boolean editable
protected boolean largeModel
This value is only a suggestion to the UI. Not all UIs will take advantage of it. Default value is false.
protected int visibleRowCount
protected boolean invokesStopCellEditing
protected boolean scrollsOnExpand
protected int toggleClickCount
protected transient TreeModelListener treeModelListener
public static final String CELL_RENDERER_PROPERTY
public static final String TREE_MODEL_PROPERTY
public static final String ROOT_VISIBLE_PROPERTY
public static final String SHOWS_ROOT_HANDLES_PROPERTY
public static final String ROW_HEIGHT_PROPERTY
public static final String CELL_EDITOR_PROPERTY
public static final String EDITABLE_PROPERTY
public static final String LARGE_MODEL_PROPERTY
public static final String SELECTION_MODEL_PROPERTY
public static final String VISIBLE_ROW_COUNT_PROPERTY
public static final String INVOKES_STOP_CELL_EDITING_PROPERTY
public static final String SCROLLS_ON_EXPAND_PROPERTY
Constructor Detail |
public JTree()
DefaultTreeModel.asksAllowsChildren
public JTree(Object[] value)
value
- an array of ObjectsDefaultTreeModel.asksAllowsChildren
public JTree(Vector value)
value
- a VectorDefaultTreeModel.asksAllowsChildren
public JTree(Hashtable value)
value
- a HashtableDefaultTreeModel.asksAllowsChildren
public JTree(TreeNode root)
root
- a TreeNode objectDefaultTreeModel.asksAllowsChildren
public JTree(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(TreeModel newModel)
newModel
- the TreeModel to use as the data modelMethod Detail |
protected static TreeModel getDefaultTreeModel()
protected static TreeModel createTreeModel(Object value)
value
- the Object used as the foundation for the TreeModelpublic TreeUI getUI()
public void setUI(TreeUI ui)
ui
- the TreeUI L&F objectUIDefaults.getUI(javax.swing.JComponent)
public void updateUI()
JComponent.updateUI()
public String getUIClassID()
JComponent.getUIClassID()
,
UIDefaults.getUI(javax.swing.JComponent)
public TreeCellRenderer getCellRenderer()
public void setCellRenderer(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(TreeCellEditor cellEditor)
cellEditor
- the TreeCellEditor to usepublic TreeCellEditor getCellEditor()
public TreeModel getModel()
public void setModel(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 displayedrootVisible
public void setShowsRootHandles(boolean newValue)
newValue
- true if root handles are to be displayedshowsRootHandles
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 UIlargeModel
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(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 String getToolTipText(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 String convertValueToText(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(TreePath path)
path
- the TreePath specifying the node to selectpublic void setSelectionPaths(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(TreePath path)
path
- the TreePath to addpublic void addSelectionPaths(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 Object getLastSelectedPathComponent()
TreePath.getLastPathComponent()
public TreePath getSelectionPath()
public TreePath[] getSelectionPaths()
public int[] getSelectionRows()
public int getSelectionCount()
public int getMinSelectionRow()
public int getMaxSelectionRow()
public int getLeadSelectionRow()
public TreePath getLeadSelectionPath()
public boolean isPathSelected(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 Enumeration getExpandedDescendants(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(TreePath path)
public boolean isExpanded(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(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(TreePath path)
path
- the TreePath to make visiblepublic boolean isVisible(TreePath path)
public Rectangle getPathBounds(TreePath path)
Note:
This method returns a valid rectangle, even if the specified
node is not currently displayed.
path
- the TreePath identifying the nodepublic Rectangle getRowBounds(int row)
row
- the row to be drawn, where 0 is the first row in the
displaypublic void scrollPathToVisible(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 TreePath getPathForRow(int row)
row
- an int specifying a rowpublic int getRowForPath(TreePath path)
path
- the TreePath identifying a nodepublic void expandPath(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(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 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 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(TreePath path)
path
- the TreePath identifying a nodepublic TreePath getEditingPath()
public void setSelectionModel(TreeSelectionModel selectionModel)
selectionModel
- the TreeSelectionModel to use, or null to
disable selectionsTreeSelectionModel
public TreeSelectionModel getSelectionModel()
the
- TreeSelectionModel in usesetSelectionModel(javax.swing.tree.TreeSelectionModel)
protected TreePath[] getPathBetweenRows(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 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(TreePath path)
path
- the TreePath identifying a nodepublic void removeSelectionPaths(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(TreeExpansionListener tel)
tel
- a TreeExpansionListener that will be notified when
a tree node is expanded or collapsed (a "negative
expansion")public void removeTreeExpansionListener(TreeExpansionListener tel)
tel
- the TreeExpansionListener to removepublic void addTreeWillExpandListener(TreeWillExpandListener tel)
tel
- a TreeWillExpandListener that will be notified when
a tree node will be expanded or collapsed (a "negative
expansion")public void removeTreeWillExpandListener(TreeWillExpandListener tel)
tel
- the TreeWillExpandListener to removepublic void fireTreeExpanded(TreePath path)
path
- the TreePath indicating the node that was expandedEventListenerList
public void fireTreeCollapsed(TreePath path)
path
- the TreePath indicating the node that was collapsedEventListenerList
public void fireTreeWillExpand(TreePath path) throws ExpandVetoException
path
- the TreePath indicating the node that was expandedEventListenerList
public void fireTreeWillCollapse(TreePath path) throws ExpandVetoException
path
- the TreePath indicating the node that was expandedEventListenerList
public void addTreeSelectionListener(TreeSelectionListener tsl)
tsl
- the TreeSelectionListener that will be notified when
a node is selected or deselected (a "negative
selection")public void removeTreeSelectionListener(TreeSelectionListener tsl)
tsl
- the TreeSelectionListener to removeprotected void fireValueChanged(TreeSelectionEvent e)
e
- the TreeSelectionEvent generated by the TreeSelectionModel
when a node is selected or deselectedEventListenerList
public void treeDidChange()
public void setVisibleRowCount(int newCount)
newCount
- the number of rows to displaypublic int getVisibleRowCount()
public Dimension getPreferredScrollableViewportSize()
getVisibleRowCount
and the width
is the current preferred width.public int getScrollableUnitIncrement(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(int)
public int getScrollableBlockIncrement(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(int)
public boolean getScrollableTracksViewportWidth()
Scrollable.getScrollableTracksViewportWidth()
public boolean getScrollableTracksViewportHeight()
Scrollable.getScrollableTracksViewportHeight()
protected void setExpandedState(TreePath path, boolean state)
state
is
true, all parents of path
and path are marked as
expanded. If state
is false, all parents of
path
are marked EXPANDED, but path
itself
is marked collapsed.This will fail if a TreeWillExpandListener vetos it.
protected Enumeration getDescendantToggledPaths(TreePath parent)
parent
.protected void removeDescendantToggledPaths(Enumeration toRemove)
toRemove
that have been expanded.protected void clearToggledPaths()
protected TreeModelListener createTreeModelListener()
protected String paramString()
null
.public AccessibleContext getAccessibleContext()
|
JavaTM 2 Platform Standard Edition |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |