All Packages Class Hierarchy This Package Previous Next Index
Class com.sun.java.swing.JTree
java.lang.Object
|
+----java.awt.Component
|
+----java.awt.Container
|
+----com.sun.java.swing.JComponent
|
+----com.sun.java.swing.JTree
- public class JTree
- extends JComponent
- implements Scrollable, Accessible
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 visible node is one which
is currently viewable in the display area.
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.
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 Swing1.0 applications. It will
not be possible to load serialized Swing1.0 objects with future releases
of Swing. The JDK1.2 release of Swing will be the compatibility
baseline for the serialized form of Swing objects.
-
CELL_EDITOR_PROPERTY
- Bound property name for cellEditor.
-
CELL_RENDERER_PROPERTY
- Bound property name for cellRenderer.
-
cellEditor
- Editor for the entries.
-
cellRenderer
- The cell used to draw nodes.
-
editable
- Is the tree editable? Default is false.
-
EDITABLE_PROPERTY
- Bound property name for editable.
-
INVOKES_STOP_CELL_EDITING_PROPERTY
- Bound property name for messagesStopCellEditing.
-
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.
-
LARGE_MODEL_PROPERTY
- Bound property name for largeModel.
-
largeModel
- Is this tree a large model? This is a code-optimization setting.
-
ROOT_VISIBLE_PROPERTY
- Bound property name for rootVisible.
-
rootVisible
- True if the root node is displayed, false if its children are
the highest visible nodes.
-
ROW_HEIGHT_PROPERTY
- Bound property name for rowHeight.
-
rowHeight
- Height to use for each display row.
-
SELECTION_MODEL_PROPERTY
- Bound property name for selectionModel.
-
selectionModel
- Models the set of selected nodes in this tree.
-
selectionRedirector
- Creates a new event and passed it off the selectionListeners.
-
SHOWS_ROOT_HANDLES_PROPERTY
- Bound property name for showsRootHandles.
-
showsRootHandles
- True if handles are displayed at the topmost level of the tree.
-
TREE_MODEL_PROPERTY
- Bound property name for treeModel.
-
treeModel
- The model that defines the tree displayed by this object.
-
VISIBLE_ROW_COUNT_PROPERTY
- Bound property name for visibleRowCount.
-
visibleRowCount
- Number of rows to make visible at one time.
-
JTree()
- Returns a JTree with a sample model.
-
JTree(Hashtable)
- Returns a JTree created from a Hashtable which does not display
the root.
-
JTree(Object[])
- Returns a JTree with each element of the specified array as the
child of a new root node which is not displayed.
-
JTree(TreeModel)
- Returns an instance of JTree which displays the root node
-- the tree is created using the specified data model.
-
JTree(TreeNode)
- Returns a JTree with the specified TreeNode as its root which is
not displayed.
-
JTree(TreeNode, boolean)
- 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)
- Returns a JTree with each element of the specified Vector as the
child of a new root node which is not displayed.
-
addSelectionInterval(int, int)
- Adds the paths between index0 and index1, inclusive, to the
selection.
-
addSelectionPath(TreePath)
- Adds the node identified by the specified TreePath to the current
selection.
-
addSelectionPaths(TreePath[])
- Adds each path in the array of paths to the current selection.
-
addSelectionRow(int)
- Adds the path at the specified row to the current selection.
-
addSelectionRows(int[])
- Adds the paths at each of the specified rows to the current selection.
-
addTreeExpansionListener(TreeExpansionListener)
- Adds a listener for TreeExpansion events.
-
addTreeSelectionListener(TreeSelectionListener)
- Adds a listener for TreeSelection events.
-
clearSelection()
- Clears the selection.
-
collapsePath(TreePath)
- Ensures that the node identified by the specified path is
collapsed and visible.
-
collapseRow(int)
- Ensures that the node in the specified row is collapsed.
-
convertValueToText(Object, boolean, boolean, boolean, int, boolean)
- Called by the renderers to convert the specified value to
text.
-
createTreeModel(Object)
- Returns a TreeModel wrapping the specified object.
-
expandPath(TreePath)
- Ensures that the node identified by the specified path is
expanded and visible.
-
expandRow(int)
- Ensures that the node in the specified row is expanded.
-
fireTreeCollapsed(TreePath)
- Notify all listeners that have registered interest for
notification on this event type.
-
fireTreeExpanded(TreePath)
- Notify all listeners that have registered interest for
notification on this event type.
-
fireValueChanged(TreeSelectionEvent)
- Notify all listeners that have registered interest for
notification on this event type.
-
getAccessibleContext()
- Get the AccessibleContext associated with this JComponent
-
getCellEditor()
- Returns the editor used to edit entries in the tree.
-
getCellRenderer()
- Returns the current TreeCellRenderer that is rendering each cell.
-
getClosestPathForLocation(int, int)
- Returns the path to the node that is closest to x,y.
-
getClosestRowForLocation(int, int)
- Returns the row to the node that is closest to x,y.
-
getDefaultTreeModel()
- Creates and returns a sample TreeModel.
-
getEditingPath()
- Returns the path to the element that is currently being edited.
-
getInvokesStopCellEditing()
- Returns the indicator that tells what happens when editing is
interrupted.
-
getLastSelectedPathComponent()
- Returns the last path component in the first node of the current
selection.
-
getLeadSelectionPath()
- Returns the path of the last node added to the selection.
-
getLeadSelectionRow()
- Returns the row index of the last node added to the selection.
-
getMaxSelectionRow()
- Gets the last selected row.
-
getMinSelectionRow()
- Gets the first selected row.
-
getModel()
- Returns the TreeModel that is providing the data.
-
getPathBetweenRows(int, int)
- Returns JTreePath instances representing the path between index0
and index1 (including index1).
-
getPathBounds(TreePath)
- Returns the Rectangle that the specified node will be drawn
into.
-
getPathForLocation(int, int)
- Returns the path for the node at the specified location.
-
getPathForRow(int)
- Returns the path for the specified row.
-
getPreferredScrollableViewportSize()
- Returns the preferred viewable size of a JTree.
-
getRowBounds(int)
- Returns the Rectangle that the node at the specified row is
drawn in.
-
getRowCount()
- Returns the number of rows that are currently being displayed.
-
getRowForLocation(int, int)
- Returns the row for the specified location.
-
getRowForPath(TreePath)
- Returns the row that displays the node identified by the specified
path.
-
getRowHeight()
- Returns the height of each row.
-
getScrollableBlockIncrement(Rectangle, int, int)
- Returns the amount for a block inrecment, which is the height or
width of
visibleRect
, based on orientation
.
-
getScrollableTracksViewportHeight()
- Returns false to indicate that the height of the viewport does not
determine the height of the table.
-
getScrollableTracksViewportWidth()
- Returns false to indicate that the width of the viewport does not
determine the width of the table.
-
getScrollableUnitIncrement(Rectangle, int, int)
- Returns the amount to increment when scrolling.
-
getSelectionCount()
- Returns the number of nodes selected.
-
getSelectionModel()
- Returns the model for selections.
-
getSelectionPath()
- Returns the path to the first selected node.
-
getSelectionPaths()
- Returns the paths of all selected values.
-
getSelectionRows()
- Returns all of the currently selected rows.
-
getShowsRootHandles()
- Returns true if handles for the root nodes are displayed.
-
getToolTipText(MouseEvent)
- Overrides JComponent's getToolTipText method in order to allow
renderer's tips to be used if it has text set.
-
getUI()
- Returns the L&F object that renders this component.
-
getUIClassID()
- Returns the name of the L&F class that renders this component.
-
getVisibleRowCount()
- Returns the number of rows that are visible in the display area.
-
isCollapsed(int)
- Returns true if the node at the specified display row is collapsed.
-
isCollapsed(TreePath)
- 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.
-
isEditable()
- Returns true if the tree is editable.
-
isEditing()
- Returns true if the tree is being edited.
-
isExpanded(int)
- Returns true if the node at the specified display row is currently
expanded.
-
isExpanded(TreePath)
- Returns true if the node identified by the path is currently expanded,
-
isFixedRowHeight()
- Returns true if the height of each display row is a fixed size.
-
isLargeModel()
- Returns true if the tree is configured for a large model.
-
isOpaque()
- Returns true to indicate that this component paints every pixel
in its range.
-
isPathEditable(TreePath)
- Returns
isEditable
.
-
isPathSelected(TreePath)
- Returns true if the item identified by the path is currently selected.
-
isRootVisible()
- Returns true if the root node of the tree is displayed.
-
isRowSelected(int)
- Returns true if the node identitifed by row is selected.
-
isSelectionEmpty()
- Returns true if the selection is currently empty.
-
isVisible(TreePath)
- Returns true if the value identified by path is currently visible,
false otherwise.
-
makeVisible(TreePath)
- Ensures that the node identified by path is currently visible.
-
removeSelectionInterval(int, int)
- Removes the nodes between index0 and index1, inclusive, from the
selection.
-
removeSelectionPath(TreePath)
- Removes the node identified by the specified path from the current
selection.
-
removeSelectionPaths(TreePath[])
- Removes the nodes identified by the specified paths from the
current selection.
-
removeSelectionRow(int)
- Removes the path at the index
row
from the current
selection.
-
removeSelectionRows(int[])
- Removes the paths that are selected at each of the specified
rows.
-
removeTreeExpansionListener(TreeExpansionListener)
- Removes a listener for TreeExpansion events.
-
removeTreeSelectionListener(TreeSelectionListener)
- Removes a TreeSelection listener.
-
scrollPathToVisible(TreePath)
- 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 visible.
-
scrollRowToVisible(int)
- Scrolls the item identified by row to be visible.
-
setCellEditor(TreeCellEditor)
- Sets the cell editor.
-
setCellRenderer(TreeCellRenderer)
- Sets the TreeCellRenderer that will be used to draw each cell.
-
setEditable(boolean)
- Determines whether the tree is editable.
-
setInvokesStopCellEditing(boolean)
- 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.
-
setLargeModel(boolean)
- Specifies whether the UI should use a large model.
-
setModel(TreeModel)
- Sets the TreeModel that will provide the data.
-
setRootVisible(boolean)
- Determines whether or not the root node from
the TreeModel is visible.
-
setRowHeight(int)
- Sets the height of each cell.
-
setSelectionInterval(int, int)
- Selects the nodes between index0 and index1, inclusive.
-
setSelectionModel(TreeSelectionModel)
- Sets the tree's selection model.
-
setSelectionPath(TreePath)
-
Selects the node identified by the specified path.
-
setSelectionPaths(TreePath[])
-
Selects the nodes identified by the specified array of paths.
-
setSelectionRow(int)
- Selects the node at the specified row in the display.
-
setSelectionRows(int[])
- Selects the nodes corresponding to each of the specified rows
in the display.
-
setShowsRootHandles(boolean)
- Determines whether the node handles are to be displayed.
-
setUI(TreeUI)
- Sets the L&F object that renders this component.
-
setVisibleRowCount(int)
- Sets the number of rows that are to be visible.
-
startEditingAtPath(TreePath)
- Selects the node identified by the specified path and initiates
editing.
-
stopEditing()
- Stops the current editing session.
-
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)
-
updateUI()
- Notification from the UIManager that the L&F has changed.
treeModel
protected transient TreeModel treeModel
- The model that defines the tree displayed by this object.
selectionModel
protected transient TreeSelectionModel selectionModel
- Models the set of selected nodes in this tree.
rootVisible
protected boolean rootVisible
- True if the root node is displayed, false if its children are
the highest visible nodes.
cellRenderer
protected transient TreeCellRenderer cellRenderer
- The cell used to draw nodes. If null, the UI uses a default
cellRenderer.
rowHeight
protected int rowHeight
- Height to use for each display row. If this is <= 0 the renderer
determines the height for each row.
showsRootHandles
protected boolean showsRootHandles
- True if handles are displayed at the topmost level of the tree.
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.
- See Also:
- rootVisible
selectionRedirector
protected JTree. TreeSelectionRedirector selectionRedirector
- Creates a new event and passed it off the selectionListeners.
cellEditor
protected transient TreeCellEditor cellEditor
- Editor for the entries. Default is null (tree is not editable).
editable
protected boolean editable
- Is the tree editable? Default is false.
largeModel
protected boolean largeModel
- Is this tree a large model? This is a code-optimization setting.
A large model can be used when the cell height is the same for all
nodes. The UI will then cache very little information and instead
continually message the model. Without a large model the UI caches
most of the information, resulting in fewer method calls to the model.
This value is only a suggestion to the UI. Not all UIs will
take advantage of it. Default value is false.
visibleRowCount
protected int visibleRowCount
- Number of rows to make visible at one time. This value is used for
the Scrollable interface. It determines the preferred size of the
display area.
invokesStopCellEditing
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. If false, cancelCellEditing is invoked, and changes
are discarded. Default is false.
CELL_RENDERER_PROPERTY
public static final String CELL_RENDERER_PROPERTY
- Bound property name for cellRenderer.
TREE_MODEL_PROPERTY
public static final String TREE_MODEL_PROPERTY
- Bound property name for treeModel.
ROOT_VISIBLE_PROPERTY
public static final String ROOT_VISIBLE_PROPERTY
- Bound property name for rootVisible.
SHOWS_ROOT_HANDLES_PROPERTY
public static final String SHOWS_ROOT_HANDLES_PROPERTY
- Bound property name for showsRootHandles.
ROW_HEIGHT_PROPERTY
public static final String ROW_HEIGHT_PROPERTY
- Bound property name for rowHeight.
CELL_EDITOR_PROPERTY
public static final String CELL_EDITOR_PROPERTY
- Bound property name for cellEditor.
EDITABLE_PROPERTY
public static final String EDITABLE_PROPERTY
- Bound property name for editable.
LARGE_MODEL_PROPERTY
public static final String LARGE_MODEL_PROPERTY
- Bound property name for largeModel.
SELECTION_MODEL_PROPERTY
public static final String SELECTION_MODEL_PROPERTY
- Bound property name for selectionModel.
VISIBLE_ROW_COUNT_PROPERTY
public static final String VISIBLE_ROW_COUNT_PROPERTY
- Bound property name for visibleRowCount.
INVOKES_STOP_CELL_EDITING_PROPERTY
public static final String INVOKES_STOP_CELL_EDITING_PROPERTY
- Bound property name for messagesStopCellEditing.
JTree
public JTree()
- Returns a JTree with a sample model.
- Returns:
- a JTree with the default model, which defines a leaf node
as any node without children.
- See Also:
- asksAllowsChildren
JTree
public 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.
By default, the tree defines a leaf node as any node without
children.
- Parameters:
- value - an array of Objects
- Returns:
- a JTree with the contents of the array as children of
the root node
- See Also:
- asksAllowsChildren
JTree
public 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. By default, the
tree defines a leaf node as any node without children.
- Parameters:
- value - a Vector
- Returns:
- a JTree with the contents of the Vector as children of
the root node
- See Also:
- asksAllowsChildren
JTree
public JTree(Hashtable value)
- Returns a JTree created from a Hashtable which does not display
the root. Each value-half of the key/value pairs in the HashTable
becomes a child of the new root node. By default, the tree defines
a leaf node as any node without children.
- Parameters:
- value - a Hashtable
- Returns:
- a JTree with the contents of the Hashtable as children of
the root node
- See Also:
- asksAllowsChildren
JTree
public JTree(TreeNode root)
- Returns a JTree with the specified TreeNode as its root which is
not displayed. By default, the tree defines a leaf node as any node
without children.
- Parameters:
- root - a TreeNode object
- Returns:
- a JTree with the specified root node
- See Also:
- asksAllowsChildren
JTree
public 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.
- Parameters:
- root - a TreeNode object
- asksAllowsChildren - if false, any node without children is a
leaf node. If true, only nodes that do not allow
children are leaf nodes.
- Returns:
- a JTree with the specified root node
- See Also:
- asksAllowsChildren
JTree
public JTree(TreeModel newModel)
- Returns an instance of JTree which displays the root node
-- the tree is created using the specified data model.
- Parameters:
- newModel - the TreeModel to use as the data model
- Returns:
- a JTree based on the TreeModel
getDefaultTreeModel
protected static TreeModel getDefaultTreeModel()
- Creates and returns a sample TreeModel. Used primarily for beanbuilders.
to show something interesting.
- Returns:
- the default TreeModel
createTreeModel
protected static TreeModel createTreeModel(Object value)
- Returns a TreeModel wrapping the specified object. If the object
is:
- an array of Objects,
- a Hashtable, or
- a Vector
then a new root node is created with each of the incoming
objects as children. Otherwise, a new root is created with the
specified object as its value.
- Parameters:
- value - the Object used as the foundation for the TreeModel
- Returns:
- a TreeModel wrapping the specified object
getUI
public TreeUI getUI()
- Returns the L&F object that renders this component.
- Returns:
- the TreeUI object that renders this component
setUI
public void setUI(TreeUI ui)
- Sets the L&F object that renders this component.
- Parameters:
- ui - the TreeUI L&F object
- See Also:
- getUI
updateUI
public void updateUI()
- Notification from the UIManager that the L&F has changed.
Replaces the current UI object with the latest version from the
UIManager.
- Overrides:
- updateUI in class JComponent
- See Also:
- updateUI
getUIClassID
public String getUIClassID()
- Returns the name of the L&F class that renders this component.
- Returns:
- "TreeUI"
- Overrides:
- getUIClassID in class JComponent
- See Also:
- getUIClassID, getUI
getCellRenderer
public TreeCellRenderer getCellRenderer()
- Returns the current TreeCellRenderer that is rendering each cell.
- Returns:
- the TreeCellRenderer that is rendering each cell
setCellRenderer
public void setCellRenderer(TreeCellRenderer x)
- Sets the TreeCellRenderer that will be used to draw each cell.
- Parameters:
- x - the TreeCellRenderer that is to render each cell
setEditable
public void setEditable(boolean flag)
- Determines whether the tree is editable. Fires a property
change event if the new setting is different from the existing
setting.
- Parameters:
- flag - a boolean value, true if the tree is editable
isEditable
public boolean isEditable()
- Returns true if the tree is editable.
- Returns:
- true if the tree is editable.
setCellEditor
public void setCellEditor(TreeCellEditor cellEditor)
- Sets the cell editor. A null value implies that the
tree cannot be edited. If this represents a change in the
cellEditor, the propertyChange method is invoked on all
listeners.
- Parameters:
- cellEditor - the TreeCellEditor to use
getCellEditor
public TreeCellEditor getCellEditor()
- Returns the editor used to edit entries in the tree.
- Returns:
- the TreeCellEditor in use, or null if the tree cannot
be edited
getModel
public TreeModel getModel()
- Returns the TreeModel that is providing the data.
- Returns:
- the TreeModel that is providing the data
setModel
public void setModel(TreeModel newModel)
- Sets the TreeModel that will provide the data.
- Parameters:
- newModel - the TreeModel that is to provide the data
isRootVisible
public boolean isRootVisible()
- Returns true if the root node of the tree is displayed.
- Returns:
- true if the root node of the tree is displayed
- See Also:
- rootVisible
setRootVisible
public void setRootVisible(boolean rootVisible)
- Determines whether or not the root node from
the TreeModel is visible.
- Parameters:
- rootVisible - true if the root node of the tree is to be displayed
- See Also:
- rootVisible
setShowsRootHandles
public void setShowsRootHandles(boolean newValue)
- Determines whether the node handles are to be displayed.
- Parameters:
- newValue - true if root handles are to be displayed
- See Also:
- showsRootHandles
getShowsRootHandles
public boolean getShowsRootHandles()
- Returns true if handles for the root nodes are displayed.
- Returns:
- true if root handles are displayed
- See Also:
- showsRootHandles
setRowHeight
public void setRowHeight(int rowHeight)
- Sets the height of each cell. If the specified value
is less than or equal to zero the current cell renderer is
queried for each row's height.
- Parameters:
- rowHeight - the height of each cell, in pixels
getRowHeight
public int getRowHeight()
- Returns the height of each row. If the returned value is less than
or equal to 0 the height for each row is determined by the
renderer.
- Parameters:
- the - height of each cell, in pixels. Zero or negative if the
height of each row is determined by the tree cell renderer
isFixedRowHeight
public boolean isFixedRowHeight()
- Returns true if the height of each display row is a fixed size.
- Returns:
- true if the height of each row is a fixed size
setLargeModel
public void setLargeModel(boolean newValue)
- Specifies whether the UI should use a large model.
(Not all UIs will implement this.) Fires a property change
for the LARGE_MODEL_PROPERTY.
- Parameters:
- newValue - true to suggest a large model to the UI
- See Also:
- largeModel
isLargeModel
public boolean isLargeModel()
- Returns true if the tree is configured for a large model.
- Returns:
- true if a large model is suggested
- See Also:
- largeModel
setInvokesStopCellEditing
public 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. Fires a property change for the
INVOKES_STOP_CELL_EDITING_PROPERTY.
- Parameters:
- 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.
getInvokesStopCellEditing
public boolean getInvokesStopCellEditing()
- Returns the indicator that tells what happens when editing is
interrupted.
- Returns:
- the indicator that tells what happens when editing is
interrupted
- See Also:
- setInvokesStopCellEditing
isPathEditable
public boolean isPathEditable(TreePath path)
- Returns
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.
- Returns:
- true if every parent node and the node itself is editabled
- See Also:
- isEditable
getToolTipText
public String getToolTipText(MouseEvent event)
- Overrides JComponent's getToolTipText method in order to allow
renderer's tips to be used if it has text set.
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!
- Parameters:
- event - the MouseEvent that initiated the ToolTip display
- Overrides:
- getToolTipText in class JComponent
convertValueToText
public 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. This implementation returns value.toString(), ignoring
all other arguments. To control the conversion, subclass this
method and use any of the arguments you need.
- Parameters:
- value - the Object to convert to text
- selected - true if the node is selected
- expanded - true if the node is expanded
- leaf - true if the node is a leaf node
- row - an int specifying the node's display row, where 0 is
the first row in the display
- hasFocus - true if the node has the focus
- Returns:
- the String representation of the node's value
getRowCount
public int getRowCount()
- Returns the number of rows that are currently being displayed.
- Returns:
- the number of rows that are being displayed
setSelectionPath
public void setSelectionPath(TreePath path)
- Selects the node identified by the specified path. If any
component of the path is hidden (under a collapsed node), it is
exposed (made viewable).
- Parameters:
- path - the TreePath specifying the node to select
setSelectionPaths
public void setSelectionPaths(TreePath paths[])
- Selects the nodes identified by the specified array of paths.
If any component in any of the paths is hidden (under a collapsed
node), it is exposed (made viewable).
- Parameters:
- paths - an array of TreePath objects that specifies the nodes
to select
setSelectionRow
public void setSelectionRow(int row)
- Selects the node at the specified row in the display.
- Parameters:
- row - the row to select, where 0 is the first row in
the display
setSelectionRows
public void setSelectionRows(int rows[])
- Selects the nodes corresponding to each of the specified rows
in the display.
- Parameters:
- rows - an array of ints specifying the rows to select,
where 0 indicates the first row in the display
addSelectionPath
public void addSelectionPath(TreePath path)
- Adds the node identified by the specified TreePath to the current
selection. If any component of the path isn't visible, it is
made visible.
- Parameters:
- path - the TreePath to add
addSelectionPaths
public void addSelectionPaths(TreePath paths[])
- Adds each path in the array of paths to the current selection. If
any component of any of the paths isn't visible, it is
made visible.
- Parameters:
- paths - an array of TreePath objects that specifies the nodes
to add
addSelectionRow
public void addSelectionRow(int row)
- Adds the path at the specified row to the current selection.
- Parameters:
- row - an int specifying the row of the node to add,
where 0 is the first row in the display
addSelectionRows
public void addSelectionRows(int rows[])
- Adds the paths at each of the specified rows to the current selection.
- Parameters:
- rows - an array of ints specifying the rows to add,
where 0 indicates the first row in the display
getLastSelectedPathComponent
public Object getLastSelectedPathComponent()
- Returns the last path component in the first node of the current
selection.
- Returns:
- the last Object in the first selected node's TreePath,
or null if nothing is selected
- See Also:
- getLastPathComponent
getSelectionPath
public TreePath getSelectionPath()
- Returns the path to the first selected node.
- Returns:
- the TreePath for the first selected node, or null if
nothing is currently selected
getSelectionPaths
public TreePath[] getSelectionPaths()
- Returns the paths of all selected values.
- Returns:
- an array of TreePath objects indicating the selected
nodes, or null if nothing is currently selected.
getSelectionRows
public int[] getSelectionRows()
- Returns all of the currently selected rows.
- Returns:
- an array of ints that identifies all currently selected rows
where 0 is the first row in the display
getSelectionCount
public int getSelectionCount()
- Returns the number of nodes selected.
- Returns:
- the number of nodes selected
getMinSelectionRow
public int getMinSelectionRow()
- Gets the first selected row.
- Returns:
- an int designating the first selected row, where 0 is the
first row in the display
getMaxSelectionRow
public int getMaxSelectionRow()
- Gets the last selected row.
- Returns:
- an int designating the last selected row, where 0 is the
first row in the display
getLeadSelectionRow
public int getLeadSelectionRow()
- Returns the row index of the last node added to the selection.
- Returns:
- an int giving the row index of the last node added to the
selection, where 0 is the first row in the display
getLeadSelectionPath
public TreePath getLeadSelectionPath()
- Returns the path of the last node added to the selection.
- Returns:
- the TreePath of the last node added to the selection.
isPathSelected
public boolean isPathSelected(TreePath path)
- Returns true if the item identified by the path is currently selected.
- Parameters:
- path - a TreePath identifying a node
- Returns:
- true if the node is selected
isRowSelected
public boolean isRowSelected(int row)
- Returns true if the node identitifed by row is selected.
- Parameters:
- row - an int specifying a display row, where 0 is the first
row in the display
- Returns:
- true if the node is selected
isExpanded
public boolean isExpanded(TreePath path)
- Returns true if the node identified by the path is currently expanded,
- Parameters:
- path - the TreePath specifying the node to check
- Returns:
- false if any of the nodes in the node's path are collapsed,
true if all nodes in the path are expanded
isExpanded
public boolean isExpanded(int row)
- Returns true if the node at the specified display row is currently
expanded.
- Parameters:
- row - the row to check, where 0 is the first row in the
display
- Returns:
- true if the node is currently expanded, otherwise false
isCollapsed
public 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.
- Parameters:
- path - the TreePath to check
- Returns:
- true if any of the nodes in the node's path are collapsed,
false if all nodes in the path are expanded
isCollapsed
public boolean isCollapsed(int row)
- Returns true if the node at the specified display row is collapsed.
- Parameters:
- row - the row to check, where 0 is the first row in the
display
- Returns:
- true if the node is currently collapsed, otherwise false
makeVisible
public void makeVisible(TreePath path)
- Ensures that the node identified by path is currently visible.
- Parameters:
- path - the TreePath to make visible
isVisible
public boolean isVisible(TreePath path)
- Returns true if the value identified by path is currently visible,
false otherwise.
- Returns:
- true if the node is visible, otherwise false
getPathBounds
public Rectangle getPathBounds(TreePath path)
- Returns the Rectangle that the specified node will be drawn
into. Returns null if any component in the path is hidden
(under a collapsed parent).
Note:
This method returns a valid rectangle, even if the specified
node is not currently displayed.
- Parameters:
- path - the TreePath identifying the node
- Returns:
- the Rectangle the node is drawn in, or null
getRowBounds
public Rectangle getRowBounds(int row)
- Returns the Rectangle that the node at the specified row is
drawn in.
- Parameters:
- row - the row to be drawn, where 0 is the first row in the
display
- Returns:
- the Rectangle the node is drawn in
scrollPathToVisible
public 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 visible.
- Parameters:
- path - the TreePath identifying the node to bring into view
scrollRowToVisible
public void scrollRowToVisible(int row)
- Scrolls the item identified by row to be visible. The minimum
of amount of scrolling necessary to bring the row into view
is performed. Only works when this JTree is contained in a
JSrollPane.
- Parameters:
- row - an int specifying the row to scroll, where 0 is the
first row in the display
getPathForRow
public TreePath getPathForRow(int row)
- Returns the path for the specified row.
If row is not visible null is returned.<-->
- Parameters:
- row - an int specifying a row
- Returns:
- the TreePath to the specified node, null if
row < 0 or row > getRowCount()
getRowForPath
public int getRowForPath(TreePath path)
- Returns the row that displays the node identified by the specified
path.
- Parameters:
- path - the TreePath identifying a node
- Returns:
- an int specifying the display row, where 0 is the first
row in the display, or -1 if any of the elements in path
are hidden under a collapsed parent.
expandPath
public void expandPath(TreePath path)
- Ensures that the node identified by the specified path is
expanded and visible.
- Parameters:
- path - the TreePath identifying a node
expandRow
public void expandRow(int row)
- Ensures that the node in the specified row is expanded.
- Parameters:
- row - an int specifying a display row, where 0 is the
first row in the display
collapsePath
public void collapsePath(TreePath path)
- Ensures that the node identified by the specified path is
collapsed and visible.
- Parameters:
- path - the TreePath identifying a node
collapseRow
public void collapseRow(int row)
- Ensures that the node in the specified row is collapsed.
- Parameters:
- row - an int specifying a display row, where 0 is the
first row in the display
getPathForLocation
public TreePath getPathForLocation(int x,
int y)
- Returns the path for the node at the specified location.
- Parameters:
- x - an int giving the number of pixels horizontally from
the left edge of the display area, minus any left margin
- y - an int giving the number of pixels vertically from
the top of the display area, minus any top margin
- Returns:
- the TreePath for the node at that location
getRowForLocation
public int getRowForLocation(int x,
int y)
- Returns the row for the specified location.
- Parameters:
- x - an int giving the number of pixels horizontally from
the left edge of the display area, minus any left margin
- y - an int giving the number of pixels vertically from
the top of the display area, minus any top margin
- Returns:
- the row corresponding to the location, or -1 if the
location is not within the bounds of a displayed cell
- See Also:
- getClosestRowForLocation
getClosestPathForLocation
public TreePath getClosestPathForLocation(int x,
int y)
- Returns the path to the node that is closest to x,y. If
nothing is currently visible, or there is no model, returns
null, otherwise it always returns a valid path. To test if
the node is exactly at x, y, get the node's bounds and
test x, y against that.
- Parameters:
- x - an int giving the number of pixels horizontally from
the left edge of the display area, minus any left margin
- y - an int giving the number of pixels vertically from
the top of the display area, minus any top margin
- Returns:
- the TreePath for the node closest to that location,
null if nothing is visible or there is no model
- See Also:
- getPathForLocation, getPathBounds
getClosestRowForLocation
public int getClosestRowForLocation(int x,
int y)
- Returns the row to the node that is closest to x,y. If
nothing is visible or there is no model, returns -1. Otherwise,
it always returns a valid row. To test if the returned object is
exactly at x, y, get the bounds for the node at the returned
row and test x, y against that.
- Parameters:
- x - an int giving the number of pixels horizontally from
the left edge of the display area, minus any left margin
- y - an int giving the number of pixels vertically from
the top of the display area, minus any top margin
- Returns:
- the row closest to the location, -1 if nothing is
visible or there is no model
- See Also:
- getRowForLocation, getRowBounds
isEditing
public boolean isEditing()
- Returns true if the tree is being edited. The item that is being
edited can be obtained using
getSelectionPath
.
- Returns:
- true if the user is currently editing a node
- See Also:
- getSelectionPath
stopEditing
public boolean stopEditing()
- Stops the current editing session. Has no effect if the
tree isn't being edited.
- Returns:
- true if editing was in progress and is now stopped,
false if editing was not in progress
startEditingAtPath
public void startEditingAtPath(TreePath path)
- Selects the node identified by the specified path and initiates
editing. The edit-attempt fails if the CellEditor does not allow
editing for the specified item.
- Parameters:
- path - the TreePath identifying a node
getEditingPath
public TreePath getEditingPath()
- Returns the path to the element that is currently being edited.
- Returns:
- the TreePath for the node being edited
setSelectionModel
public void setSelectionModel(TreeSelectionModel selectionModel)
- Sets the tree's selection model. When a null value is specified
an empty electionModel is used, which does not allow selections.
- Parameters:
- selectionModel - the TreeSelectionModel to use, or null to
disable selections
- See Also:
- TreeSelectionModel
getSelectionModel
public TreeSelectionModel getSelectionModel()
- Returns the model for selections. This should always return a
non-null value. If you don't want to allow anything to be selected
set the selection model to null, which forces an empty
selection model to be used.
- Parameters:
- the - TreeSelectionModel in use
- See Also:
- setSelectionModel
getPathBetweenRows
protected TreePath[] getPathBetweenRows(int index0,
int index1)
- Returns JTreePath instances representing the path between index0
and index1 (including index1). Returns null if there is no tree.
- Parameters:
- index0 - an int specifying a display row, where 0 is the
first row in the display
- index0 - an int specifying a second display row
- Returns:
- an array of TreePath objects, one for each node between
index0 and index1, inclusive
setSelectionInterval
public void setSelectionInterval(int index0,
int index1)
- Selects the nodes between index0 and index1, inclusive.
- Parameters:
- index0 - an int specifying a display row, where 0 is the
first row in the display
- index0 - an int specifying a second display row
addSelectionInterval
public void addSelectionInterval(int index0,
int index1)
- Adds the paths between index0 and index1, inclusive, to the
selection.
- Parameters:
- index0 - an int specifying a display row, where 0 is the
first row in the display
- index0 - an int specifying a second display row
removeSelectionInterval
public void removeSelectionInterval(int index0,
int index1)
- Removes the nodes between index0 and index1, inclusive, from the
selection.
- Parameters:
- index0 - an int specifying a display row, where 0 is the
first row in the display
- index0 - an int specifying a second display row
removeSelectionPath
public void removeSelectionPath(TreePath path)
- Removes the node identified by the specified path from the current
selection.
- Parameters:
- path - the TreePath identifying a node
removeSelectionPaths
public void removeSelectionPaths(TreePath paths[])
- Removes the nodes identified by the specified paths from the
current selection.
- Parameters:
- paths - an array of TreePath objects that specifies the nodes
to remove
removeSelectionRow
public void removeSelectionRow(int row)
- Removes the path at the index
row
from the current
selection.
- Parameters:
- path - the TreePath identifying the node to remove
removeSelectionRows
public void removeSelectionRows(int rows[])
- Removes the paths that are selected at each of the specified
rows.
- Parameters:
- row - an array of ints specifying display rows, where 0 is
the first row in the display
clearSelection
public void clearSelection()
- Clears the selection.
isSelectionEmpty
public boolean isSelectionEmpty()
- Returns true if the selection is currently empty.
- Returns:
- true if the selection is currently empty
addTreeExpansionListener
public void addTreeExpansionListener(TreeExpansionListener tel)
- Adds a listener for TreeExpansion events.
- Parameters:
- tel - a TreeExpansionListener that will be notified when
a tree node is expanded or collapsed (a "negative
expansion")
removeTreeExpansionListener
public void removeTreeExpansionListener(TreeExpansionListener tel)
- Removes a listener for TreeExpansion events.
- Parameters:
- tel - the TreeExpansionListener to remove
fireTreeExpanded
public void fireTreeExpanded(TreePath path)
- Notify all listeners that have registered interest for
notification on this event type. The event instance
is lazily created using the parameters passed into
the fire method.
- Parameters:
- path - the TreePath indicating the node that was expanded
- See Also:
- EventListenerList
fireTreeCollapsed
public void fireTreeCollapsed(TreePath path)
- Notify all listeners that have registered interest for
notification on this event type. The event instance
is lazily created using the parameters passed into
the fire method.
- Parameters:
- path - the TreePath indicating the node that was collapsed
- See Also:
- EventListenerList
addTreeSelectionListener
public void addTreeSelectionListener(TreeSelectionListener tsl)
- Adds a listener for TreeSelection events.
- Parameters:
- tsl - the TreeSelectionListener that will be notified when
a node is selected or deselected (a "negative
selection")
removeTreeSelectionListener
public void removeTreeSelectionListener(TreeSelectionListener tsl)
- Removes a TreeSelection listener.
- Parameters:
- tsl - the TreeSelectionListener to remove
fireValueChanged
protected void fireValueChanged(TreeSelectionEvent e)
- Notify all listeners that have registered interest for
notification on this event type. The event instance
is lazily created using the parameters passed into
the fire method.
- Parameters:
- e - the TreeSelectionEvent generated by the TreeSelectionModel
when a node is selected or deselected
- See Also:
- EventListenerList
treeDidChange
public 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)
setVisibleRowCount
public void setVisibleRowCount(int newCount)
- Sets the number of rows that are to be visible.
This will only work if the reciever is contained in a JScrollPane,
and will adjust the preferred size and size of that scrollpane.
- Parameters:
- newCount - the number of rows to display
getVisibleRowCount
public int getVisibleRowCount()
- Returns the number of rows that are visible in the display area.
- Returns:
- the number of rows displayed
isOpaque
public boolean isOpaque()
- Returns true to indicate that this component paints every pixel
in its range. (In other words, it does not have a transparent
background or foreground.)
- Returns:
- true
- Overrides:
- isOpaque in class JComponent
- See Also:
- isOpaque
getPreferredScrollableViewportSize
public Dimension getPreferredScrollableViewportSize()
- Returns the preferred viewable size of a JTree. The height is
determined from
getVisibleRowCount
and the width
is the current preferred width.
- Returns:
- a Dimension object containing the preferred size
getScrollableUnitIncrement
public int getScrollableUnitIncrement(Rectangle visibleRect,
int orientation,
int direction)
- Returns the amount to increment when scrolling. The amount is
the height of the first visible row that isn't completely in view
or, if it is totally visible, the height of the next row in the
scrolling direction.
- Parameters:
- visibleRect - The view area visible within the viewport
- orientation - Either SwingConstants.VERTICAL or SwingConstants.HORIZONTAL.
- direction - Less than zero to scroll up/left, greater than zero for down/right.
- Returns:
- The "unit" increment for scrolling in the specified direction
- See Also:
- setUnitIncrement
getScrollableBlockIncrement
public 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
.
- Parameters:
- visibleRect - The view area visible within the viewport
- orientation - Either SwingConstants.VERTICAL or SwingConstants.HORIZONTAL.
- direction - Less than zero to scroll up/left, greater than zero for down/right.
- Returns:
- The "block" increment for scrolling in the specified direction.
- See Also:
- setBlockIncrement
getScrollableTracksViewportWidth
public boolean getScrollableTracksViewportWidth()
- Returns false to indicate that the width of the viewport does not
determine the width of the table.
- Returns:
- false
- See Also:
- getScrollableTracksViewportWidth
getScrollableTracksViewportHeight
public boolean getScrollableTracksViewportHeight()
- Returns false to indicate that the height of the viewport does not
determine the height of the table.
- Returns:
- false
- See Also:
- getScrollableTracksViewportHeight
getAccessibleContext
public AccessibleContext getAccessibleContext()
- Get the AccessibleContext associated with this JComponent
- Returns:
- the AccessibleContext of this JComponent
- Overrides:
- getAccessibleContext in class JComponent
All Packages Class Hierarchy This Package Previous Next Index