Class VirtualContainerBase<C extends Control,I extends IndexedCell>
java.lang.Object
javafx.scene.control.SkinBase<C>
javafx.scene.control.skin.VirtualContainerBase<C,I>
- Type Parameters:
-
C- the type of the control -
I- the type of the index cell
- All Implemented Interfaces:
Skin<C>
- Direct Known Subclasses:
-
ListViewSkin,TableViewSkinBase,TreeViewSkin
public abstract class VirtualContainerBase<C extends Control,I extends IndexedCell> extends SkinBase<C>
Parent class to control skins whose contents are virtualized and scrollable. This class handles the interaction with the VirtualFlow class, which is the main class handling the virtualization of the contents of this container.
- Since:
- 9
Constructor Summary
| Constructor | Description |
|---|---|
VirtualContainerBase |
Constructor for subclasses to call. |
Method Summary
| Modifier and Type | Method | Description |
|---|---|---|
protected VirtualFlow |
createVirtualFlow() |
Create the virtualized container that handles the layout and scrolling of all the cells. |
void |
dispose() |
Called when a previously installed skin is about to be removed from its associated control. |
protected abstract int |
getItemCount() |
Returns the total number of items in this container, including those that are currently hidden because they are out of view. |
protected final VirtualFlow |
getVirtualFlow() |
Get the virtualized container. |
protected final void |
markItemCountDirty() |
Call this method to indicate that the item count should be updated on the next pulse. |
protected abstract void |
updateItemCount() |
This method is called when it is possible that the item count has changed (i.e. |
Methods declared in class javafx.scene.control.SkinBase
computeBaselineOffset, computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, consumeMouseEvents, executeAccessibleAction, getChildren, getClassCssMetaData, getCssMetaData, getNode, getSkinnable, layoutChildren, layoutInArea, layoutInArea, layoutInArea, positionInArea, positionInArea, pseudoClassStateChanged, queryAccessibleAttribute, registerChangeListener, registerInvalidationListener, registerListChangeListener, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, unregisterChangeListeners, unregisterInvalidationListeners, unregisterListChangeListeners
Constructor Details
VirtualContainerBase
public VirtualContainerBase(C control)
Constructor for subclasses to call.
- Parameters:
-
control- the control
Method Details
getItemCount
protected abstract int getItemCount()
Returns the total number of items in this container, including those that are currently hidden because they are out of view.
- Returns:
- the total number of items in this container
updateItemCount
protected abstract void updateItemCount()
This method is called when it is possible that the item count has changed (i.e. scrolling has occurred, the control has resized, etc). This method should recalculate the item count and store that for future use by the
getItemCount() method.createVirtualFlow
protected VirtualFlow<I> createVirtualFlow()
Create the virtualized container that handles the layout and scrolling of all the cells. This enables skin subclasses to provide a custom
VirtualFlow implementation. If not overridden, this method instantiates a default VirtualFlow instance.- Returns:
- newly created VirtualFlow instance
- Since:
- 10
dispose
public void dispose()
Called when a previously installed skin is about to be removed from its associated control. This allows the skin to do clean up, like removing listeners and bindings, and undo any changes to the control's properties. After this method completes,
Skin.getSkinnable() and Skin.getNode() should return null. Calling Skin.dispose() more than once has no effect.
Overridden to remove EventHandler.
getVirtualFlow
protected final VirtualFlow<I> getVirtualFlow()
Get the virtualized container. Subclasses can invoke this method to get the VirtualFlow instance.
- Returns:
- the virtualized container
- Since:
- 10
markItemCountDirty
protected final void markItemCountDirty()
Call this method to indicate that the item count should be updated on the next pulse.
© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.