Class MultiColumnListView<T>

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.control.Control
com.dlsc.gemsfx.MultiColumnListView<T>
Type Parameters:
T - the item types, e.g. "Issues" or "Tickets"
All Implemented Interfaces:
javafx.css.Styleable, javafx.event.EventTarget, javafx.scene.control.Skinnable

public class MultiColumnListView<T> extends javafx.scene.control.Control
invalid input: '<' A view for displaying multiple columns where each column consists of a header control and a ListView. The control allows the user to rearrange the items in each ListView and also to drag and drop items from one column to another.
  • Property Summary

    Properties
    Type
    Property
    Description
    final javafx.beans.property.ObjectProperty<javafx.util.Callback<MultiColumnListView<T>,MultiColumnListView.ColumnListCell<T>>>
    The cell factory that will be used for each one of the ListView instances.
    final javafx.beans.property.ListProperty<MultiColumnListView.ListViewColumn<T>>
    A list of columns that define how many columns will be shown inside the view.
    final javafx.beans.property.BooleanProperty
    Controls whether the user can rearrange items via drag and drop or not.
    final javafx.beans.property.ObjectProperty<T>
     
    final javafx.beans.property.ObjectProperty<javafx.util.Callback<MultiColumnListView<T>,javafx.scene.control.ListView<T>>>
    Stores the callback that will be invoked to produce new ListView instances.
    final javafx.beans.property.ObjectProperty<T>
    A model item that represents the "from" location during drag and drop operations.
    final javafx.beans.property.ObjectProperty<T>
    A model item that represents the "to" location during drag and drop operations.
    final javafx.beans.property.ObjectProperty<javafx.util.Callback<Integer,javafx.scene.Node>>
    An optional factory for creating separators that will be placed between columns.
    final javafx.beans.property.BooleanProperty
    Determines whether the headers will be shown or not.

    Properties inherited from class javafx.scene.control.Control

    contextMenu, skin, tooltip

    Properties inherited from class javafx.scene.layout.Region

    background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width

    Properties inherited from class javafx.scene.Parent

    needsLayout

    Properties 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, focusVisible, focusWithin, 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 Classes
    Modifier and Type
    Class
    Description
    static class 
    A special list cell to be used in combination with the MultiColumnListView control.
    static class 
    The model object representing a single column.
  • Field Summary

    Fields inherited from class javafx.scene.layout.Region

    USE_COMPUTED_SIZE, USE_PREF_SIZE

    Fields inherited from class javafx.scene.Node

    BASELINE_OFFSET_SAME_AS_HEIGHT
  • Constructor Summary

    Constructors
    Constructor
    Description
    Constructs a new view.
  • Method Summary

    Modifier and Type
    Method
    Description
    final javafx.beans.property.ObjectProperty<javafx.util.Callback<MultiColumnListView<T>,MultiColumnListView.ColumnListCell<T>>>
    The cell factory that will be used for each one of the ListView instances.
    final javafx.beans.property.ListProperty<MultiColumnListView.ListViewColumn<T>>
    A list of columns that define how many columns will be shown inside the view.
    protected javafx.scene.control.Skin<?>
     
    final javafx.beans.property.BooleanProperty
    Controls whether the user can rearrange items via drag and drop or not.
    final javafx.beans.property.ObjectProperty<T>
     
    Gets the value of the cellFactory property.
    final javafx.collections.ObservableList<MultiColumnListView.ListViewColumn<T>>
    Gets the value of the columns property.
    final T
    Gets the value of the draggedItem property.
    final javafx.collections.ObservableList<T>
     
    final javafx.util.Callback<MultiColumnListView<T>,javafx.scene.control.ListView<T>>
    Gets the value of the listViewFactory property.
    final T
    Gets the value of the placeholderFrom property.
    final T
    Gets the value of the placeholderTo property.
    final javafx.util.Callback<Integer,javafx.scene.Node>
    Gets the value of the separatorFactory property.
     
    final boolean
    Gets the value of the disableDragAndDrop property.
    final boolean
    Gets the value of the showHeaders property.
    final javafx.beans.property.ObjectProperty<javafx.util.Callback<MultiColumnListView<T>,javafx.scene.control.ListView<T>>>
    Stores the callback that will be invoked to produce new ListView instances.
    final javafx.beans.property.ObjectProperty<T>
    A model item that represents the "from" location during drag and drop operations.
    final javafx.beans.property.ObjectProperty<T>
    A model item that represents the "to" location during drag and drop operations.
    final javafx.beans.property.ObjectProperty<javafx.util.Callback<Integer,javafx.scene.Node>>
    An optional factory for creating separators that will be placed between columns.
    final void
    Sets the value of the cellFactory property.
    final void
    setColumns(javafx.collections.ObservableList<MultiColumnListView.ListViewColumn<T>> columns)
    Sets the value of the columns property.
    final void
    setDisableDragAndDrop(boolean disableDragAndDrop)
    Sets the value of the disableDragAndDrop property.
    final void
    setDraggedItem(T draggedItem)
    Sets the value of the draggedItem property.
    final void
    setListViewFactory(javafx.util.Callback<MultiColumnListView<T>,javafx.scene.control.ListView<T>> listViewFactory)
    Sets the value of the listViewFactory property.
    final void
    setPlaceholderFrom(T placeholderFrom)
    Sets the value of the placeholderFrom property.
    final void
    setPlaceholderTo(T placeholderTo)
    Sets the value of the placeholderTo property.
    final void
    setSeparatorFactory(javafx.util.Callback<Integer,javafx.scene.Node> separatorFactory)
    Sets the value of the separatorFactory property.
    final void
    setShowHeaders(boolean showHeaders)
    Sets the value of the showHeaders property.
    final javafx.beans.property.BooleanProperty
    Determines whether the headers will be shown or not.

    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, tooltipProperty

    Methods 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, widthProperty

    Methods inherited from class javafx.scene.Parent

    getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds

    Methods 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, focusVisibleProperty, focusWithinProperty, 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, isFocusVisible, isFocusWithin, 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, visibleProperty

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface javafx.css.Styleable

    getStyleableNode
  • Property Details

  • Constructor Details

    • MultiColumnListView

      public MultiColumnListView()
      Constructs a new view.
  • Method Details

    • createDefaultSkin

      protected javafx.scene.control.Skin<?> createDefaultSkin()
      Overrides:
      createDefaultSkin in class javafx.scene.control.Control
    • getUserAgentStylesheet

      public String getUserAgentStylesheet()
      Overrides:
      getUserAgentStylesheet in class javafx.scene.layout.Region
    • isShowHeaders

      public final boolean isShowHeaders()
      Gets the value of the showHeaders property.
      Property description:
      Determines whether the headers will be shown or not. Toggling this property will trigger a rebuild of the view.
      Returns:
      the value of the showHeaders property
      See Also:
    • showHeadersProperty

      public final javafx.beans.property.BooleanProperty showHeadersProperty()
      Determines whether the headers will be shown or not. Toggling this property will trigger a rebuild of the view.
      Returns:
      true if the headers should be shown
      See Also:
    • setShowHeaders

      public final void setShowHeaders(boolean showHeaders)
      Sets the value of the showHeaders property.
      Property description:
      Determines whether the headers will be shown or not. Toggling this property will trigger a rebuild of the view.
      Parameters:
      showHeaders - the value for the showHeaders property
      See Also:
    • getListViewFactory

      public final javafx.util.Callback<MultiColumnListView<T>,javafx.scene.control.ListView<T>> getListViewFactory()
      Gets the value of the listViewFactory property.
      Property description:
      Stores the callback that will be invoked to produce new ListView instances.
      Returns:
      the value of the listViewFactory property
      See Also:
    • listViewFactoryProperty

      public final javafx.beans.property.ObjectProperty<javafx.util.Callback<MultiColumnListView<T>,javafx.scene.control.ListView<T>>> listViewFactoryProperty()
      Stores the callback that will be invoked to produce new ListView instances.
      Returns:
      the factory for creating the required list views, one for each column
      See Also:
    • setListViewFactory

      public final void setListViewFactory(javafx.util.Callback<MultiColumnListView<T>,javafx.scene.control.ListView<T>> listViewFactory)
      Sets the value of the listViewFactory property.
      Property description:
      Stores the callback that will be invoked to produce new ListView instances.
      Parameters:
      listViewFactory - the value for the listViewFactory property
      See Also:
    • getColumns

      public final javafx.collections.ObservableList<MultiColumnListView.ListViewColumn<T>> getColumns()
      Gets the value of the columns property.
      Property description:
      A list of columns that define how many columns will be shown inside the view. The model objects in this list also store the header and the data for each column.
      Returns:
      the value of the columns property
      See Also:
    • columnsProperty

      public final javafx.beans.property.ListProperty<MultiColumnListView.ListViewColumn<T>> columnsProperty()
      A list of columns that define how many columns will be shown inside the view. The model objects in this list also store the header and the data for each column.
      Returns:
      the list of columns
      See Also:
    • setColumns

      public final void setColumns(javafx.collections.ObservableList<MultiColumnListView.ListViewColumn<T>> columns)
      Sets the value of the columns property.
      Property description:
      A list of columns that define how many columns will be shown inside the view. The model objects in this list also store the header and the data for each column.
      Parameters:
      columns - the value for the columns property
      See Also:
    • getCellFactory

      public final javafx.util.Callback<MultiColumnListView<T>,MultiColumnListView.ColumnListCell<T>> getCellFactory()
      Gets the value of the cellFactory property.
      Property description:
      The cell factory that will be used for each one of the ListView instances.
      Returns:
      the value of the cellFactory property
      See Also:
    • cellFactoryProperty

      public final javafx.beans.property.ObjectProperty<javafx.util.Callback<MultiColumnListView<T>,MultiColumnListView.ColumnListCell<T>>> cellFactoryProperty()
      The cell factory that will be used for each one of the ListView instances.
      Returns:
      the cell factory
      See Also:
    • setCellFactory

      public final void setCellFactory(javafx.util.Callback<MultiColumnListView<T>,MultiColumnListView.ColumnListCell<T>> cellFactory)
      Sets the value of the cellFactory property.
      Property description:
      The cell factory that will be used for each one of the ListView instances.
      Parameters:
      cellFactory - the value for the cellFactory property
      See Also:
    • getSeparatorFactory

      public final javafx.util.Callback<Integer,javafx.scene.Node> getSeparatorFactory()
      Gets the value of the separatorFactory property.
      Property description:
      An optional factory for creating separators that will be placed between columns. The default implementation creates a region and adds the style class "column-separator". No separators will be added to the view when the factory is being set to null.
      Returns:
      the value of the separatorFactory property
      See Also:
    • separatorFactoryProperty

      public final javafx.beans.property.ObjectProperty<javafx.util.Callback<Integer,javafx.scene.Node>> separatorFactoryProperty()
      An optional factory for creating separators that will be placed between columns. The default implementation creates a region and adds the style class "column-separator". No separators will be added to the view when the factory is being set to null.
      Returns:
      a separator node
      See Also:
    • setSeparatorFactory

      public final void setSeparatorFactory(javafx.util.Callback<Integer,javafx.scene.Node> separatorFactory)
      Sets the value of the separatorFactory property.
      Property description:
      An optional factory for creating separators that will be placed between columns. The default implementation creates a region and adds the style class "column-separator". No separators will be added to the view when the factory is being set to null.
      Parameters:
      separatorFactory - the value for the separatorFactory property
      See Also:
    • isDisableDragAndDrop

      public final boolean isDisableDragAndDrop()
      Gets the value of the disableDragAndDrop property.
      Property description:
      Controls whether the user can rearrange items via drag and drop or not.
      Returns:
      the value of the disableDragAndDrop property
      See Also:
    • disableDragAndDropProperty

      public final javafx.beans.property.BooleanProperty disableDragAndDropProperty()
      Controls whether the user can rearrange items via drag and drop or not.
      Returns:
      "true" if the control allows rearranging items via drag and drop
      See Also:
    • setDisableDragAndDrop

      public final void setDisableDragAndDrop(boolean disableDragAndDrop)
      Sets the value of the disableDragAndDrop property.
      Property description:
      Controls whether the user can rearrange items via drag and drop or not.
      Parameters:
      disableDragAndDrop - the value for the disableDragAndDrop property
      See Also:
    • getDraggedItem

      public final T getDraggedItem()
      Gets the value of the draggedItem property.
      Property description:
      Returns:
      the value of the draggedItem property
      See Also:
    • draggedItemProperty

      public final javafx.beans.property.ObjectProperty<T> draggedItemProperty()
      Returns:
      the draggedItem property
      See Also:
    • setDraggedItem

      public final void setDraggedItem(T draggedItem)
      Sets the value of the draggedItem property.
      Property description:
      Parameters:
      draggedItem - the value for the draggedItem property
      See Also:
    • getDraggedItems

      public final javafx.collections.ObservableList<T> getDraggedItems()
    • getPlaceholderFrom

      public final T getPlaceholderFrom()
      Gets the value of the placeholderFrom property.
      Property description:
      A model item that represents the "from" location during drag and drop operations.
      Returns:
      the value of the placeholderFrom property
      See Also:
    • placeholderFromProperty

      public final javafx.beans.property.ObjectProperty<T> placeholderFromProperty()
      A model item that represents the "from" location during drag and drop operations.
      Returns:
      the placeholder model item for the "from" location
      See Also:
    • setPlaceholderFrom

      public final void setPlaceholderFrom(T placeholderFrom)
      Sets the value of the placeholderFrom property.
      Property description:
      A model item that represents the "from" location during drag and drop operations.
      Parameters:
      placeholderFrom - the value for the placeholderFrom property
      See Also:
    • getPlaceholderTo

      public final T getPlaceholderTo()
      Gets the value of the placeholderTo property.
      Property description:
      A model item that represents the "to" location during drag and drop operations.
      Returns:
      the value of the placeholderTo property
      See Also:
    • placeholderToProperty

      public final javafx.beans.property.ObjectProperty<T> placeholderToProperty()
      A model item that represents the "to" location during drag and drop operations.
      Returns:
      the placeholder model item for the "to" location
      See Also:
    • setPlaceholderTo

      public final void setPlaceholderTo(T placeholderTo)
      Sets the value of the placeholderTo property.
      Property description:
      A model item that represents the "to" location during drag and drop operations.
      Parameters:
      placeholderTo - the value for the placeholderTo property
      See Also: