|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.swing.tree.AbstractLayoutCache javax.swing.tree.VariableHeightLayoutCache
NOTE: This will become more open in a future release.
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. As of 1.4, support for long term storage
of all JavaBeansTM
has been added to the java.beans
package.
Please see XMLEncoder
.
Nested Class Summary | |
private class |
VariableHeightLayoutCache.TreeStateNode
TreeStateNode is used to keep track of each of the nodes that have been expanded. |
private class |
VariableHeightLayoutCache.VisibleTreeStateNodeEnumeration
An enumerator to iterate through visible nodes. |
Nested classes inherited from class javax.swing.tree.AbstractLayoutCache |
AbstractLayoutCache.NodeDimensions |
Field Summary | |
private Rectangle |
boundsBuffer
Used in getting sizes for nodes to avoid creating a new Rectangle every time a size is needed. |
private VariableHeightLayoutCache.TreeStateNode |
root
The root node of the internal cache of nodes that have been shown. |
private Stack |
tempStacks
A stack of stacks. |
private Hashtable |
treePathMapping
Maps from TreePath to a TreeStateNode . |
private boolean |
updateNodeSizes
This is set to true if one of the entries has an invalid size. |
private Vector |
visibleNodes
The array of nodes that are currently visible, in the order they are displayed. |
Fields inherited from class javax.swing.tree.AbstractLayoutCache |
nodeDimensions, rootVisible, rowHeight, treeModel, treeSelectionModel |
Constructor Summary | |
VariableHeightLayoutCache()
|
Method Summary | |
private void |
addMapping(VariableHeightLayoutCache.TreeStateNode node)
Adds a mapping for node. |
private VariableHeightLayoutCache.TreeStateNode |
createNodeAt(VariableHeightLayoutCache.TreeStateNode parent,
int childIndex)
Creates a new node to represent the node at childIndex in parents children. |
private VariableHeightLayoutCache.TreeStateNode |
createNodeForValue(Object value)
Responsible for creating a TreeStateNode that will be used to track display information about value. |
private void |
ensurePathIsExpanded(TreePath aPath,
boolean expandLast)
Ensures that all the path components in path are expanded, accept for the last component which will only be expanded if expandLast is true. |
private Rectangle |
getBounds(int row,
Rectangle placeIn)
Retursn the bounds for row, row by reference in
placeIn . |
Rectangle |
getBounds(TreePath path,
Rectangle placeIn)
Returns the Rectangle enclosing the label portion
into which the item identified by path will be drawn. |
boolean |
getExpandedState(TreePath path)
Returns true if the path is expanded, and visible. |
private VariableHeightLayoutCache.TreeStateNode |
getMapping(TreePath path)
Returns the node previously added for path . |
private int |
getMaxNodeWidth()
Returns the maximum node width. |
private VariableHeightLayoutCache.TreeStateNode |
getNode(int row)
Returns the AbstractTreeUI.VisibleNode displayed at the given row |
private VariableHeightLayoutCache.TreeStateNode |
getNodeForPath(TreePath path,
boolean onlyIfVisible,
boolean shouldCreate)
Returns the TreeStateNode identified by path. |
TreePath |
getPathClosestTo(int x,
int y)
Returns the path to the node that is closest to x,y. |
TreePath |
getPathForRow(int row)
Returns the path for row . |
int |
getPreferredHeight()
Returns the preferred height. |
int |
getPreferredWidth(Rectangle bounds)
Returns the preferred width and height for the region in visibleRegion . |
private int |
getRowContainingYLocation(int location)
Returns the index of the row containing location. |
int |
getRowCount()
Returns the number of visible rows. |
int |
getRowForPath(TreePath path)
Returns the row where the last item identified in path is visible. |
int |
getVisibleChildCount(TreePath path)
Returns the number of visible children for path . |
Enumeration |
getVisiblePathsFrom(TreePath path)
Returns an Enumerator that increments over the visible paths
starting at the passed in location. |
void |
invalidatePathBounds(TreePath path)
Instructs the LayoutCache that the bounds for
path are invalid, and need to be updated. |
void |
invalidateSizes()
Informs the TreeState that it needs to recalculate
all the sizes it is referencing. |
boolean |
isExpanded(TreePath path)
Returns true if the value identified by path is
currently expanded. |
private void |
rebuild(boolean clearSelection)
Completely rebuild the tree, all expanded state, and node caches are removed. |
private void |
removeMapping(VariableHeightLayoutCache.TreeStateNode node)
Removes the mapping for a previously added node. |
void |
setExpandedState(TreePath path,
boolean isExpanded)
Marks the path path expanded state to
isExpanded . |
void |
setModel(TreeModel newModel)
Sets the TreeModel that will provide the data. |
void |
setNodeDimensions(AbstractLayoutCache.NodeDimensions nd)
Sets the renderer that is responsible for drawing nodes in the tree. |
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 |
treeNodesChanged(TreeModelEvent e)
Invoked after a node (or a set of siblings) has changed in some way. |
void |
treeNodesInserted(TreeModelEvent e)
Invoked after nodes have been inserted into the tree. |
void |
treeNodesRemoved(TreeModelEvent e)
Invoked after nodes have been removed from the tree. |
void |
treeStructureChanged(TreeModelEvent e)
Invoked after the tree has drastically changed structure from a given node down. |
private void |
updateNodeSizes(boolean updateAll)
Resets the y origin of all the visible nodes as well as messaging all the visible nodes to updatePreferredSize(). |
private void |
updateYLocationsFrom(int location)
Updates the y locations of all of the visible nodes after location. |
private void |
visibleNodesChanged()
|
Methods inherited from class javax.swing.tree.AbstractLayoutCache |
getModel, getNodeDimensions, getNodeDimensions, getRowHeight, getRowsForPaths, getSelectionModel, isFixedRowHeight, isRootVisible, setSelectionModel |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private Vector visibleNodes
private boolean updateNodeSizes
private VariableHeightLayoutCache.TreeStateNode root
private Rectangle boundsBuffer
private Hashtable treePathMapping
TreePath
to a TreeStateNode
.
private Stack tempStacks
Constructor Detail |
public VariableHeightLayoutCache()
Method Detail |
public void setModel(TreeModel newModel)
TreeModel
that will provide the data.
setModel
in class AbstractLayoutCache
newModel
- the TreeModel
that is to provide the datapublic void setRootVisible(boolean rootVisible)
TreeModel
is visible.
setRootVisible
in class AbstractLayoutCache
rootVisible
- true if the root node of the tree is to be displayedAbstractLayoutCache.rootVisible
public void setRowHeight(int rowHeight)
setRowHeight
in class AbstractLayoutCache
rowHeight
- the height of each cell, in pixelspublic void setNodeDimensions(AbstractLayoutCache.NodeDimensions nd)
setNodeDimensions
in class AbstractLayoutCache
nd
- the rendererpublic void setExpandedState(TreePath path, boolean isExpanded)
path
expanded state to
isExpanded
.
setExpandedState
in class AbstractLayoutCache
path
- the TreePath
of interestisExpanded
- true if the path should be expanded, otherwise falsepublic boolean getExpandedState(TreePath path)
getExpandedState
in class AbstractLayoutCache
path
- the path being queried
public Rectangle getBounds(TreePath path, Rectangle placeIn)
Rectangle
enclosing the label portion
into which the item identified by path
will be drawn.
getBounds
in class AbstractLayoutCache
path
- the path to be drawnplaceIn
- the bounds of the enclosing rectangle
null
if the node could not be ascertainedpublic TreePath getPathForRow(int row)
row
. If row
is not visible, null
is returned.
getPathForRow
in class AbstractLayoutCache
row
- the location of interest
row
, or null
if row
is not visiblepublic int getRowForPath(TreePath path)
getRowForPath
in class AbstractLayoutCache
path
- the TreePath
of interest
public int getRowCount()
getRowCount
in class AbstractLayoutCache
public void invalidatePathBounds(TreePath path)
LayoutCache
that the bounds for
path
are invalid, and need to be updated.
invalidatePathBounds
in class AbstractLayoutCache
path
- the TreePath
which is now invalidpublic int getPreferredHeight()
getPreferredHeight
in class AbstractLayoutCache
public int getPreferredWidth(Rectangle bounds)
visibleRegion
.
getPreferredWidth
in class AbstractLayoutCache
bounds
- the region being queried
public TreePath getPathClosestTo(int x, int y)
null
,
otherwise it will always return a valid path.
If you need to test if the
returned object is exactly at x, y you should get the bounds for
the returned path and test x, y against that.
getPathClosestTo
in class AbstractLayoutCache
x
- the x-coordinatey
- the y-coordinate
public Enumeration getVisiblePathsFrom(TreePath path)
Enumerator
that increments over the visible paths
starting at the passed in location. The ordering of the enumeration
is based on how the paths are displayed.
getVisiblePathsFrom
in class AbstractLayoutCache
path
- the location in the TreePath
to start
Enumerator
that increments over the visible
pathspublic int getVisibleChildCount(TreePath path)
path
.
getVisibleChildCount
in class AbstractLayoutCache
path
- the path being queried
path
public void invalidateSizes()
TreeState
that it needs to recalculate
all the sizes it is referencing.
invalidateSizes
in class AbstractLayoutCache
public boolean isExpanded(TreePath path)
path
is
currently expanded.
isExpanded
in class AbstractLayoutCache
path
is
currently expandedpublic void treeNodesChanged(TreeModelEvent e)
e.path
returns the path the parent of the
changed node(s).
e.childIndices
returns the index(es) of the
changed node(s).
treeNodesChanged
in class AbstractLayoutCache
e
- the TreeModelEvent
of interestpublic void treeNodesInserted(TreeModelEvent e)
e.path
returns the parent of the new nodes.
e.childIndices
returns the indices of the new nodes in
ascending order.
treeNodesInserted
in class AbstractLayoutCache
e
- the TreeModelEvent
of interestpublic void treeNodesRemoved(TreeModelEvent e)
e.path
returns the former parent of the deleted nodes.
e.childIndices
returns the indices the nodes had
before they were deleted in ascending order.
treeNodesRemoved
in class AbstractLayoutCache
e
- the TreeModelEvent
of interestpublic void treeStructureChanged(TreeModelEvent e)
e.getPath
is of length one and the first element does not identify the
current root node the first element should become the new root
of the tree.
e.path
holds the path to the node.
e.childIndices
returns null
.
treeStructureChanged
in class AbstractLayoutCache
e
- the TreeModelEvent
of interestprivate void visibleNodesChanged()
private void addMapping(VariableHeightLayoutCache.TreeStateNode node)
private void removeMapping(VariableHeightLayoutCache.TreeStateNode node)
private VariableHeightLayoutCache.TreeStateNode getMapping(TreePath path)
path
. This may
return null, if you to create a node use getNodeForPath.
private Rectangle getBounds(int row, Rectangle placeIn)
row
by reference in
placeIn
. If placeIn
is null a new
Rectangle will be created and returned.
private void rebuild(boolean clearSelection)
private VariableHeightLayoutCache.TreeStateNode createNodeAt(VariableHeightLayoutCache.TreeStateNode parent, int childIndex)
private VariableHeightLayoutCache.TreeStateNode getNodeForPath(TreePath path, boolean onlyIfVisible, boolean shouldCreate)
private void updateYLocationsFrom(int location)
private void updateNodeSizes(boolean updateAll)
private int getRowContainingYLocation(int location)
private void ensurePathIsExpanded(TreePath aPath, boolean expandLast)
private VariableHeightLayoutCache.TreeStateNode getNode(int row)
private int getMaxNodeWidth()
private VariableHeightLayoutCache.TreeStateNode createNodeForValue(Object value)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |