- java.lang.Object
- 
- javax.swing.tree.AbstractLayoutCache
- 
- javax.swing.tree.VariableHeightLayoutCache
 
 
- 
- All Implemented Interfaces:
- RowMapper
 
 public class VariableHeightLayoutCache extends AbstractLayoutCache 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 JavaBeans™ has been added to the java.beanspackage. Please seeXMLEncoder.
- 
- 
Nested Class Summary- 
Nested classes/interfaces declared in class javax.swing.tree.AbstractLayoutCacheAbstractLayoutCache.NodeDimensions
 
- 
 - 
Field Summary- 
Fields declared in class javax.swing.tree.AbstractLayoutCachenodeDimensions, rootVisible, rowHeight, treeModel, treeSelectionModel
 
- 
 - 
Constructor SummaryConstructors Constructor Description VariableHeightLayoutCache()Constructs aVariableHeightLayoutCache.
 - 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description RectanglegetBounds(TreePath path, Rectangle placeIn)Returns theRectangleenclosing the label portion into which the item identified bypathwill be drawn.booleangetExpandedState(TreePath path)Returns true if the path is expanded, and visible.TreePathgetPathClosestTo(int x, int y)Returns the path to the node that is closest to x,y.TreePathgetPathForRow(int row)Returns the path forrow.intgetPreferredHeight()Returns the preferred height.intgetPreferredWidth(Rectangle bounds)Returns the preferred width and height for the region invisibleRegion.intgetRowCount()Returns the number of visible rows.intgetRowForPath(TreePath path)Returns the row where the last item identified in path is visible.intgetVisibleChildCount(TreePath path)Returns the number of visible children forpath.Enumeration<TreePath>getVisiblePathsFrom(TreePath path)Returns anEnumeratorthat increments over the visible paths starting at the passed in location.voidinvalidatePathBounds(TreePath path)Instructs theLayoutCachethat the bounds forpathare invalid, and need to be updated.voidinvalidateSizes()Informs theTreeStatethat it needs to recalculate all the sizes it is referencing.booleanisExpanded(TreePath path)Returns true if the value identified bypathis currently expanded.voidsetExpandedState(TreePath path, boolean isExpanded)Marks the pathpathexpanded state toisExpanded.voidsetModel(TreeModel newModel)Sets theTreeModelthat will provide the data.voidsetNodeDimensions(AbstractLayoutCache.NodeDimensions nd)Sets the renderer that is responsible for drawing nodes in the tree.voidsetRootVisible(boolean rootVisible)Determines whether or not the root node from theTreeModelis visible.voidsetRowHeight(int rowHeight)Sets the height of each cell.voidtreeNodesChanged(TreeModelEvent e)Invoked after a node (or a set of siblings) has changed in some way.voidtreeNodesInserted(TreeModelEvent e)Invoked after nodes have been inserted into the tree.voidtreeNodesRemoved(TreeModelEvent e)Invoked after nodes have been removed from the tree.voidtreeStructureChanged(TreeModelEvent e)Invoked after the tree has drastically changed structure from a given node down.- 
Methods declared in class javax.swing.tree.AbstractLayoutCachegetModel, getNodeDimensions, getNodeDimensions, getRowHeight, getRowsForPaths, getSelectionModel, isFixedRowHeight, isRootVisible, setSelectionModel
 
- 
 
- 
- 
- 
Method Detail- 
setModel@BeanProperty(description="The TreeModel that will provide the data.") public void setModel(TreeModel newModel) Sets theTreeModelthat will provide the data.- Overrides:
- setModelin class- AbstractLayoutCache
- Parameters:
- newModel- the- TreeModelthat is to provide the data
 
 - 
setRootVisible@BeanProperty(description="Whether or not the root node from the TreeModel is visible.") public void setRootVisible(boolean rootVisible) Determines whether or not the root node from theTreeModelis visible.- Overrides:
- setRootVisiblein class- AbstractLayoutCache
- Parameters:
- rootVisible- true if the root node of the tree is to be displayed
- See Also:
- AbstractLayoutCache.rootVisible
 
 - 
setRowHeight@BeanProperty(description="The height of each cell.") 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.- Overrides:
- setRowHeightin class- AbstractLayoutCache
- Parameters:
- rowHeight- the height of each cell, in pixels
 
 - 
setNodeDimensionspublic void setNodeDimensions(AbstractLayoutCache.NodeDimensions nd) Sets the renderer that is responsible for drawing nodes in the tree.- Overrides:
- setNodeDimensionsin class- AbstractLayoutCache
- Parameters:
- nd- the renderer
 
 - 
setExpandedStatepublic void setExpandedState(TreePath path, boolean isExpanded) Marks the pathpathexpanded state toisExpanded.- Specified by:
- setExpandedStatein class- AbstractLayoutCache
- Parameters:
- path- the- TreePathof interest
- isExpanded- true if the path should be expanded, otherwise false
 
 - 
getExpandedStatepublic boolean getExpandedState(TreePath path) Returns true if the path is expanded, and visible.- Specified by:
- getExpandedStatein class- AbstractLayoutCache
- Parameters:
- path- the path being queried
- Returns:
- true if the path is expanded and visible, otherwise false
 
 - 
getBoundspublic Rectangle getBounds(TreePath path, Rectangle placeIn) Returns theRectangleenclosing the label portion into which the item identified bypathwill be drawn.- Specified by:
- getBoundsin class- AbstractLayoutCache
- Parameters:
- path- the path to be drawn
- placeIn- the bounds of the enclosing rectangle
- Returns:
- the bounds of the enclosing rectangle or nullif the node could not be ascertained
 
 - 
getPathForRowpublic TreePath getPathForRow(int row) Returns the path forrow. Ifrowis not visible,nullis returned.- Specified by:
- getPathForRowin class- AbstractLayoutCache
- Parameters:
- row- the location of interest
- Returns:
- the path for row, ornullifrowis not visible
 
 - 
getRowForPathpublic int getRowForPath(TreePath path) Returns the row where the last item identified in path is visible. Will return -1 if any of the elements in path are not currently visible.- Specified by:
- getRowForPathin class- AbstractLayoutCache
- Parameters:
- path- the- TreePathof interest
- Returns:
- the row where the last item in path is visible
 
 - 
getRowCountpublic int getRowCount() Returns the number of visible rows.- Specified by:
- getRowCountin class- AbstractLayoutCache
- Returns:
- the number of visible rows
 
 - 
invalidatePathBoundspublic void invalidatePathBounds(TreePath path) Instructs theLayoutCachethat the bounds forpathare invalid, and need to be updated.- Specified by:
- invalidatePathBoundsin class- AbstractLayoutCache
- Parameters:
- path- the- TreePathwhich is now invalid
 
 - 
getPreferredHeightpublic int getPreferredHeight() Returns the preferred height.- Overrides:
- getPreferredHeightin class- AbstractLayoutCache
- Returns:
- the preferred height
 
 - 
getPreferredWidthpublic int getPreferredWidth(Rectangle bounds) Returns the preferred width and height for the region invisibleRegion.- Overrides:
- getPreferredWidthin class- AbstractLayoutCache
- Parameters:
- bounds- the region being queried
- Returns:
- the preferred width for the passed in region
 
 - 
getPathClosestTopublic TreePath getPathClosestTo(int x, int y) Returns the path to the node that is closest to x,y. If there is nothing currently visible this will returnnull, 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.- Specified by:
- getPathClosestToin class- AbstractLayoutCache
- Parameters:
- x- the x-coordinate
- y- the y-coordinate
- Returns:
- the path to the node that is closest to x, y
 
 - 
getVisiblePathsFrompublic Enumeration<TreePath> getVisiblePathsFrom(TreePath path) Returns anEnumeratorthat increments over the visible paths starting at the passed in location. The ordering of the enumeration is based on how the paths are displayed.- Specified by:
- getVisiblePathsFromin class- AbstractLayoutCache
- Parameters:
- path- the location in the- TreePathto start
- Returns:
- an Enumeratorthat increments over the visible paths
 
 - 
getVisibleChildCountpublic int getVisibleChildCount(TreePath path) Returns the number of visible children forpath.- Specified by:
- getVisibleChildCountin class- AbstractLayoutCache
- Parameters:
- path- the path being queried
- Returns:
- the number of visible children for path
 
 - 
invalidateSizespublic void invalidateSizes() Informs theTreeStatethat it needs to recalculate all the sizes it is referencing.- Specified by:
- invalidateSizesin class- AbstractLayoutCache
 
 - 
isExpandedpublic boolean isExpanded(TreePath path) Returns true if the value identified bypathis currently expanded.- Specified by:
- isExpandedin class- AbstractLayoutCache
- Parameters:
- path- TreePath to check
- Returns:
- true if the value identified by pathis currently expanded
 
 - 
treeNodesChangedpublic 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.pathreturns the path the parent of the changed node(s).e.childIndicesreturns the index(es) of the changed node(s).- Specified by:
- treeNodesChangedin class- AbstractLayoutCache
- Parameters:
- e- the- TreeModelEventof interest
 
 - 
treeNodesInsertedpublic void treeNodesInserted(TreeModelEvent e) Invoked after nodes have been inserted into the tree.e.pathreturns the parent of the new nodes.e.childIndicesreturns the indices of the new nodes in ascending order.- Specified by:
- treeNodesInsertedin class- AbstractLayoutCache
- Parameters:
- e- the- TreeModelEventof interest
 
 - 
treeNodesRemovedpublic 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.pathreturns the former parent of the deleted nodes.e.childIndicesreturns the indices the nodes had before they were deleted in ascending order.- Specified by:
- treeNodesRemovedin class- AbstractLayoutCache
- Parameters:
- e- the- TreeModelEventof interest
 
 - 
treeStructureChangedpublic void treeStructureChanged(TreeModelEvent e) Invoked after the tree has drastically changed structure from a given node down. If the path returned bye.getPathis 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.pathholds the path to the node.e.childIndicesreturnsnull.- Specified by:
- treeStructureChangedin class- AbstractLayoutCache
- Parameters:
- e- the- TreeModelEventof interest
 
 
- 
 
-