- Type Parameters:
T- the type of the list items
- All Implemented Interfaces:
Styleable,EventTarget,Skinnable
list of actions.
Each list can be decorated with a header and a footer node.
The default header nodes are simply two labels ("Available", "Selected").
Screenshot

Code Example
ListSelectionView<String> view = new ListSelectionView<>();
view.getSourceItems().add("One", "Two", "Three");
view.getTargetItems().add("Four", "Five");
-
Property Summary
PropertiesTypePropertyDescriptionSetting a custom cell factory has the effect of deferring all cell creation, allowing for total customization of the cell.final ObjectProperty<Orientation>TheOrientationof theListSelectionView- this can either be horizontal or vertical.final ObjectProperty<Node>A property used to store a reference to a node that will be displayed below the source list view.final ObjectProperty<Node>A property used to store a reference to a node that will be displayed above the source list view.final ObjectProperty<ObservableList<T>>The underlying data model for the source list view.final ObjectProperty<Node>A property used to store a reference to a node that will be displayed below the target list view.final ObjectProperty<Node>A property used to store a reference to a node that will be displayed above the target list view.final ObjectProperty<ObservableList<T>>The underlying data model for the target list view.Properties inherited from class javafx.scene.control.Control
contextMenu, skin, tooltipProperties inherited from class javafx.scene.layout.Region
background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, widthProperties inherited from class javafx.scene.Parent
needsLayoutProperties inherited from class javafx.scene.Node
accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible -
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classSpecialized actions for ListSelectionView which get access to both the internal list views.classAction use to move the selected items from the target list view to the source list view.classAction use to all the items from the target list view to the source list view.classAction use to move the selected items from the source list view to the target list view.classAction use to move all the items from the source list view to the target list view. -
Field Summary
Fields inherited from class javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZEFields inherited from class javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionSetting a custom cell factory has the effect of deferring all cell creation, allowing for total customization of the cell.protected Skin<ListSelectionView<T>>final ObservableList<Action>The list of actions to be shown in between the two list views.Returns the current cell factory.final OrientationReturns theOrientationof theListSelectionView- this can either be horizontal or vertical.final ObservableList<Action>These actions are shown beside the source list view.final NodeReturns the value ofsourceFooterProperty().final NodeReturns the value ofsourceHeaderProperty().final ObservableList<T>Returns anObservableListthat contains the items currently being shown to the user in the source list.final ObservableList<Action>These actions are shown beside the target list view.final NodeReturns the value oftargetFooterProperty().final NodeReturns the value oftargetHeaderProperty().final ObservableList<T>Returns anObservableListthat contains the items currently being shown to the user in the target list.protected final StringgetUserAgentStylesheet(Class<?> clazz, String fileName) A helper method that ensures that the resource based lookup of the user agent stylesheet only happens once.final ObjectProperty<Orientation>TheOrientationof theListSelectionView- this can either be horizontal or vertical.final voidSets a new cell factory to use by both list views.final voidsetOrientation(Orientation value) Sets theOrientationof theListSelectionView- this can either be horizontal or vertical.final voidsetSourceFooter(Node node) Sets the value ofsourceFooterProperty().final voidsetSourceHeader(Node node) Sets the value ofsourceHeaderProperty().final voidsetSourceItems(ObservableList<T> value) Sets the underlying data model for the ListView.final voidsetTargetFooter(Node node) Sets the value oftargetFooterProperty().final voidsetTargetHeader(Node node) Sets the value oftargetHeaderProperty().final voidsetTargetItems(ObservableList<T> value) Sets the underlying data model for the ListView.final ObjectProperty<Node>A property used to store a reference to a node that will be displayed below the source list view.final ObjectProperty<Node>A property used to store a reference to a node that will be displayed above the source list view.final ObjectProperty<ObservableList<T>>The underlying data model for the source list view.final ObjectProperty<Node>A property used to store a reference to a node that will be displayed below the target list view.final ObjectProperty<Node>A property used to store a reference to a node that will be displayed above the target list view.final ObjectProperty<ObservableList<T>>The underlying data model for the target list view.Methods inherited from class javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getClassCssMetaData, getContextMenu, getControlCssMetaData, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, layoutChildren, queryAccessibleAttribute, setContextMenu, setSkin, setTooltip, skinProperty, tooltipPropertyMethods inherited from class javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isScaleShape, isSnapToPixel, layoutInArea, layoutInArea, layoutInArea, layoutInArea, maxHeight, maxHeightProperty, maxWidth, maxWidthProperty, minHeight, minHeightProperty, minWidth, minWidthProperty, opaqueInsetsProperty, paddingProperty, positionInArea, positionInArea, prefHeight, prefHeightProperty, prefWidth, prefWidthProperty, resize, scaleShapeProperty, setBackground, setBorder, setCacheShape, setCenterShape, setHeight, setMaxHeight, setMaxSize, setMaxWidth, setMinHeight, setMinSize, setMinWidth, setOpaqueInsets, setPadding, setPrefHeight, setPrefSize, setPrefWidth, setScaleShape, setShape, setSnapToPixel, setWidth, shapeProperty, snappedBottomInset, snappedLeftInset, snappedRightInset, snappedTopInset, snapPosition, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, snapToPixelProperty, widthPropertyMethods inherited from class javafx.scene.Parent
getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBoundsMethods inherited from class javafx.scene.Node
accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visiblePropertyMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface javafx.css.Styleable
getStyleableNode
-
Property Details
-
sourceHeader
A property used to store a reference to a node that will be displayed above the source list view. The default node is aLabeldisplaying the text "Available".- See Also:
-
targetHeader
A property used to store a reference to a node that will be displayed above the target list view. The default node is aLabeldisplaying the text "Selected".- See Also:
-
sourceItems
The underlying data model for the source list view. Note that it has a generic type that must match the type of the source list view itself. -
targetItems
The underlying data model for the target list view. Note that it has a generic type that must match the type of the source list view itself. -
orientation
TheOrientationof theListSelectionView- this can either be horizontal or vertical.- See Also:
-
cellFactory
Setting a custom cell factory has the effect of deferring all cell creation, allowing for total customization of the cell. Internally, the ListView is responsible for reusing ListCells - all that is necessary is for the custom cell factory to return from this function a ListCell which might be usable for representing any item in the ListView.
Refer to the
Cellclass documentation for more detail.- See Also:
-
-
Constructor Details
-
ListSelectionView
public ListSelectionView()Constructs a new dual list view.
-
-
Method Details
-
createDefaultSkin
- Overrides:
createDefaultSkinin classControl
-
getUserAgentStylesheet
- Overrides:
getUserAgentStylesheetin classRegion
-
sourceHeaderProperty
A property used to store a reference to a node that will be displayed above the source list view. The default node is aLabeldisplaying the text "Available".- See Also:
-
getSourceHeader
Returns the value ofsourceHeaderProperty().- Returns:
- the source header node
-
setSourceHeader
Sets the value ofsourceHeaderProperty().- Parameters:
node- the new header node to use for the source list
-
targetHeaderProperty
A property used to store a reference to a node that will be displayed above the target list view. The default node is aLabeldisplaying the text "Selected".- See Also:
-
getTargetHeader
Returns the value oftargetHeaderProperty().- Returns:
- the source header node
-
setTargetHeader
Sets the value oftargetHeaderProperty().- Parameters:
node- the new node shown above the target list
-
setSourceItems
Sets the underlying data model for the ListView. Note that it has a generic type that must match the type of the ListView itself. -
getSourceItems
Returns anObservableListthat contains the items currently being shown to the user in the source list. This may be null ifsetSourceItems(javafx.collections.ObservableList)has previously been called, however, by default it is an empty ObservableList.- Returns:
- An ObservableList containing the items to be shown to the user in the source list, or null if the items have previously been set to null.
-
sourceItemsProperty
The underlying data model for the source list view. Note that it has a generic type that must match the type of the source list view itself. -
setTargetItems
Sets the underlying data model for the ListView. Note that it has a generic type that must match the type of the ListView itself. -
getTargetItems
Returns anObservableListthat contains the items currently being shown to the user in the target list. This may be null ifsetTargetItems(javafx.collections.ObservableList)has previously been called, however, by default it is an empty ObservableList.- Returns:
- An ObservableList containing the items to be shown to the user in the target list, or null if the items have previously been set to null.
-
targetItemsProperty
The underlying data model for the target list view. Note that it has a generic type that must match the type of the source list view itself. -
orientationProperty
TheOrientationof theListSelectionView- this can either be horizontal or vertical.- See Also:
-
setOrientation
Sets theOrientationof theListSelectionView- this can either be horizontal or vertical. -
getOrientation
Returns theOrientationof theListSelectionView- this can either be horizontal or vertical. -
setCellFactory
Sets a new cell factory to use by both list views. This forces all oldListCell's to be thrown away, and new ListCell's created with the new cell factory. -
getCellFactory
Returns the current cell factory. -
cellFactoryProperty
Setting a custom cell factory has the effect of deferring all cell creation, allowing for total customization of the cell. Internally, the ListView is responsible for reusing ListCells - all that is necessary is for the custom cell factory to return from this function a ListCell which might be usable for representing any item in the ListView.
Refer to the
Cellclass documentation for more detail.- See Also:
-
getActions
The list of actions to be shown in between the two list views. All actions except,ActionUtils.ACTION_SEPARATORandActionUtils.ACTION_SPAN, are represented as buttons.For actions dependent on both the internal list views, an instance of
ListSelectionView.ListSelectionActionshould be used.By default, the list has 4 actions -
ListSelectionView<T>.MoveToTarget,ListSelectionView<T>.MoveToTargetAll,ListSelectionView<T>.MoveToSourceandListSelectionView<T>.MoveToSourceAll. A user may choose to add on top of these actions or replace them depending on their use case.- Returns:
- An ObservableList of actions.
-
getSourceActions
These actions are shown beside the source list view. An instance ofListActionView.ListActionshould be used where actions are dependent on the source ListView.- Returns:
- An ObservableList of actions.
- See Also:
-
getTargetActions
These actions are shown beside the target list view. An instance ofListActionView.ListActionshould be used where actions are dependent on the target ListView.- Returns:
- An ObservableList of actions.
- See Also:
-
getUserAgentStylesheet
A helper method that ensures that the resource based lookup of the user agent stylesheet only happens once. Caches the external form of the resource.- Parameters:
clazz- the class used for the resource lookupfileName- the name of the user agent stylesheet- Returns:
- the external form of the user agent stylesheet (the path)
-