|
||||||||||
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.FixedHeightLayoutCache
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 |
FixedHeightLayoutCache.FHTreeStateNode
FHTreeStateNode is used to track what has been expanded. |
private class |
FixedHeightLayoutCache.SearchInfo
Used as a placeholder when getting the path in FHTreeStateNodes. |
private class |
FixedHeightLayoutCache.VisibleFHTreeStateNodeEnumeration
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 FixedHeightLayoutCache.SearchInfo |
info
Used for getting path/row information. |
private FixedHeightLayoutCache.FHTreeStateNode |
root
Root node. |
private int |
rowCount
Number of rows currently visible. |
private Stack |
tempStacks
|
private Hashtable |
treePathMapping
Maps from TreePath to a FHTreeStateNode. |
Fields inherited from class javax.swing.tree.AbstractLayoutCache |
nodeDimensions, rootVisible, rowHeight, treeModel, treeSelectionModel |
Constructor Summary | |
FixedHeightLayoutCache()
|
Method Summary | |
private void |
addMapping(FixedHeightLayoutCache.FHTreeStateNode node)
Adds a mapping for node. |
private void |
adjustRowCountBy(int changeAmount)
Adjust the large row count of the AbstractTreeUI the receiver was created with. |
private FixedHeightLayoutCache.FHTreeStateNode |
createNodeForValue(Object value,
int childIndex)
Creates and returns an instance of FHTreeStateNode. |
private boolean |
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(FixedHeightLayoutCache.FHTreeStateNode parent,
int childIndex,
Rectangle placeIn)
Returns the bounds for the given node. |
Rectangle |
getBounds(TreePath path,
Rectangle placeIn)
Returns a rectangle giving the bounds needed to draw path. |
boolean |
getExpandedState(TreePath path)
Returns true if the path is expanded, and visible. |
private FixedHeightLayoutCache.FHTreeStateNode |
getMapping(TreePath path)
Returns the node previously added for path . |
private FixedHeightLayoutCache.FHTreeStateNode |
getNodeForPath(TreePath path,
boolean onlyIfVisible,
boolean shouldCreate)
Messages getTreeNodeForPage(path, onlyIfVisible, shouldCreate, path.length) as long as path is non-null and the length is > 0. |
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 passed in row. |
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 that the last item identified in path is visible at. |
int |
getVisibleChildCount(TreePath path)
Returns the number of visible children for row. |
Enumeration |
getVisiblePathsFrom(TreePath path)
Returns an Enumerator that increments over the visible paths starting at the passed in location. |
void |
invalidatePathBounds(TreePath path)
Does nothing, FixedHeightLayoutCache doesn't cache width, and that is all that could change. |
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 row is currently expanded. |
private void |
rebuild(boolean clearSelection)
Sent to completely rebuild the visible tree. |
private void |
removeMapping(FixedHeightLayoutCache.FHTreeStateNode 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 |
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 |
visibleNodesChanged()
|
Methods inherited from class javax.swing.tree.AbstractLayoutCache |
getModel, getNodeDimensions, getNodeDimensions, getPreferredHeight, getPreferredWidth, getRowHeight, getRowsForPaths, getSelectionModel, isFixedRowHeight, isRootVisible, setNodeDimensions, setSelectionModel |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private FixedHeightLayoutCache.FHTreeStateNode root
private int rowCount
private Rectangle boundsBuffer
private Hashtable treePathMapping
private FixedHeightLayoutCache.SearchInfo info
private Stack tempStacks
Constructor Detail |
public FixedHeightLayoutCache()
Method Detail |
public void setModel(TreeModel newModel)
setModel
in class AbstractLayoutCache
newModel
- the TreeModel that is to provide the datapublic void setRootVisible(boolean rootVisible)
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 int getRowCount()
getRowCount
in class AbstractLayoutCache
public void invalidatePathBounds(TreePath path)
invalidatePathBounds
in class AbstractLayoutCache
path
- the path being updatedpublic void invalidateSizes()
invalidateSizes
in class AbstractLayoutCache
public boolean isExpanded(TreePath path)
isExpanded
in class AbstractLayoutCache
public Rectangle getBounds(TreePath path, Rectangle placeIn)
getBounds
in class AbstractLayoutCache
path
- a TreePath specifying a nodeplaceIn
- a Rectangle object giving the available space
public TreePath getPathForRow(int row)
getPathForRow
in class AbstractLayoutCache
row
- the row being queried
TreePath
for the given rowpublic int getRowForPath(TreePath path)
getRowForPath
in class AbstractLayoutCache
path
- the TreePath
being queried
public TreePath getPathClosestTo(int x, int y)
getPathClosestTo
in class AbstractLayoutCache
x
- the horizontal component of the desired locationy
- the vertical component of the desired location
TreePath
closest to the specified pointpublic int getVisibleChildCount(TreePath path)
getVisibleChildCount
in class AbstractLayoutCache
path
- the path being queried
public Enumeration getVisiblePathsFrom(TreePath path)
getVisiblePathsFrom
in class AbstractLayoutCache
path
- the starting location for the enumeration
Enumerator
starting at the desired locationpublic void setExpandedState(TreePath path, boolean isExpanded)
path
expanded state to
isExpanded
.
setExpandedState
in class AbstractLayoutCache
path
- the path being expanded or collapsedisExpanded
- true if the path should be expanded, false otherwisepublic boolean getExpandedState(TreePath path)
getExpandedState
in class AbstractLayoutCache
path
- the path being queried
public void treeNodesChanged(TreeModelEvent e)
Invoked after a node (or a set of siblings) has changed in some way. The node(s) have not changed locations in the tree or altered their children arrays, but other attributes have changed and may affect presentation. Example: the name of a file has changed, but it is in the same location in the file system.
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
public void treeNodesInserted(TreeModelEvent e)
Invoked after nodes have been inserted into the tree.
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
public void treeNodesRemoved(TreeModelEvent e)
Invoked after nodes have been removed from the tree. Note that if a subtree is removed from the tree, this method may only be invoked once for the root of the removed subtree, not once for each individual set of siblings removed.
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
public void treeStructureChanged(TreeModelEvent e)
Invoked after the tree has drastically changed structure from a given node down. If the path returned by 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
private void visibleNodesChanged()
private Rectangle getBounds(FixedHeightLayoutCache.FHTreeStateNode parent, int childIndex, Rectangle placeIn)
childIndex
is -1, the bounds of parent
are returned, otherwise
the bounds of the node at childIndex
are returned.
private void adjustRowCountBy(int changeAmount)
private void addMapping(FixedHeightLayoutCache.FHTreeStateNode node)
private void removeMapping(FixedHeightLayoutCache.FHTreeStateNode node)
private FixedHeightLayoutCache.FHTreeStateNode getMapping(TreePath path)
path
. This may
return null, if you to create a node use getNodeForPath.
private void rebuild(boolean clearSelection)
private int getRowContainingYLocation(int location)
private boolean ensurePathIsExpanded(TreePath aPath, boolean expandLast)
private FixedHeightLayoutCache.FHTreeStateNode createNodeForValue(Object value, int childIndex)
private FixedHeightLayoutCache.FHTreeStateNode getNodeForPath(TreePath path, boolean onlyIfVisible, boolean shouldCreate)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |