charvax.swing

Class JTree


public class JTree
extends java.lang.Object

(UNDER CONSTRUCTION) A component that displays hierarchical data.

Field Summary

protected TreeSelectionModel
_selectionModel
protected TreeModel
_treeModel
protected int
_visibleRowCount

Constructor Summary

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.

Method Summary

void
clearSelection()
Clears the selection.
void
collapsePath(TreePath path)
Ensures that the node identified by the specified path is collapsed
protected static TreeModel
createTreeModel(Object value)
Returns a TreeModel wrapping the specified object.
void
expandPath(TreePath path)
Ensures that the node identified by the specified path is expanded and viewable.
TreeModel
getModel()
Returns the TreeModel that is providing the data.
TreePath
getPathForRow(int row)
Returns the path for the specified row.
int
getRowCount()
Returns the number of rows that are currently being displayed.
TreeSelectionModel
getSelectionModel()
Returns the model for selections.
TreePath
getSelectionPath()
Returns the path to the first selected node.
int
getVisibleRowCount()
Returns the maximum number of rows that are displayed in the display area.
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
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 expanded.
void
makeVisible(TreePath path)
Ensures that the node identified by path is currently viewable.
void
removeSelectionPath(TreePath path)
Removes the node identified by the specified path from the current selection.
void
removeSelectionRow(int row)
Removes the row at the index row from the current selection.
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
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
setSelectionModel(TreeSelectionModel selectionModel)
Sets the tree's selection model.
void
setSelectionPath(TreePath path)
Selects the node identified by the specified path.
void
setSelectionRow(int row)
Selects the node at the specified row in the display.
void
setVisibleRowCount(int newCount)
Sets the number of rows that are to be displayed.

Field Details

_selectionModel

protected TreeSelectionModel _selectionModel

_treeModel

protected TreeModel _treeModel

_visibleRowCount

protected int _visibleRowCount

Constructor Details

JTree

public JTree(TreeNode root)
Returns a JTree with the specified TreeNode as its root, which displays the root node. By default, the tree defines a leaf node as any node without children.

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

Method Details

clearSelection

public void clearSelection()
Clears the selection.

collapsePath

public void collapsePath(TreePath path)
Ensures that the node identified by the specified path is collapsed

createTreeModel

protected static TreeModel createTreeModel(Object value)
Returns a TreeModel wrapping the specified object.

expandPath

public void expandPath(TreePath path)
Ensures that the node identified by the specified path is expanded and viewable. If the last item in the path is a leaf, this will have no effect.

getModel

public TreeModel getModel()
Returns the TreeModel that is providing the data.

getPathForRow

public TreePath getPathForRow(int row)
Returns the path for the specified row. If row is not visible, null is returned.
Returns:
the TreePath to the specified node, null if row < 0 or row > getRowCount().

getRowCount

public int getRowCount()
Returns the number of rows that are currently being displayed.

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.

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

getVisibleRowCount

public int getVisibleRowCount()
Returns the maximum number of rows that are displayed in the display area.

isPathSelected

public boolean isPathSelected(TreePath path)
Returns true if the item identified by the path is currently selected.

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

isSelectionEmpty

public boolean isSelectionEmpty()
Returns true if the selection is currently empty.

isVisible

public 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 expanded. Otherwise, this method returns false.

makeVisible

public void makeVisible(TreePath path)
Ensures that the node identified by path is currently viewable.

removeSelectionPath

public void removeSelectionPath(TreePath path)
Removes the node identified by the specified path from the current selection.

removeSelectionRow

public void removeSelectionRow(int row)
Removes the row at the index row from the current selection.

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 displayed. Only works when this JTree is contained in a JScrollPane.

scrollRowToVisible

public void scrollRowToVisible(int row)
Scrolls the item identified by row until it is displayed. The minimum of amount of scrolling necessary to bring the row into view is performed. Only works when this JTree is contained in a JScrollPane.
Parameters:
row - an integer specifying the row to scroll, where 0 is the first row in the display

setModel

public void setModel(TreeModel newModel_)
Sets the TreeModel that will provide the data.

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

setSelectionModel

public void setSelectionModel(TreeSelectionModel selectionModel)
Sets the tree's selection model. When a null value is specified an empty selectionModel is used, which does not allow selections.

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), and getExpandsSelectedPaths is true it is exposed (made viewable).

setSelectionRow

public void setSelectionRow(int row)
Selects the node at the specified row in the display.

setVisibleRowCount

public void setVisibleRowCount(int newCount)
Sets the number of rows that are to be displayed. This will only work if the tree is contained in a JScrollPane, and will adjust the preferred size and size of that scrollpane.