Class JThumbnailPane<T>

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.layout.Pane
javafx.scene.layout.BorderPane
org.jorigin.jfx.thumbnail.JThumbnailPane<T>
Type Parameters:
T - the type of the object that are represented by the thumbnails.
All Implemented Interfaces:
javafx.css.Styleable, javafx.event.EventTarget

public class JThumbnailPane<T> extends javafx.scene.layout.BorderPane
A pane that enable to display and manage thumbnails.
Author:
Julien SEINTURIER - Université de Toulon / CNRS LIS umr 7020 - github.com/jorigin/jcommon (contact@jorigin.org)
  • Property Summary

    Properties
    Type
    Property
    Description
    final javafx.beans.property.ObjectProperty<Predicate<? super T>>
    Get the filter property.
    final javafx.beans.property.ObjectProperty<JThumbnailStyle>
    Get the style property.

    Properties inherited from class javafx.scene.layout.BorderPane

    bottom, center, left, right, top

    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
  • 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
    Create a new empty and default styled thumbnails pane.
    JThumbnailPane(boolean scrollable, JThumbnailStyle style)
    Create a new pane that enable to display and manage thumbnails.
    Create a new empty thumbnail pane.
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Add the given thumbnail to this pane.
    boolean
    Add the given thumbnail activation handler to this component.
    boolean
    Add the given thumbnail selection handler to this component.
    Get the items that are displayed within the thumbnail pane.
    boolean
    Remove the given thumbnail from this pane.
    boolean
    Remove the given thumbnail activation handler from this component.
    boolean
    Remove the given thumbnail selection handler from this component.
    void
    setFilter(Predicate<? super T> predicate)
    Apply the filter defined by the given predicate to the displayed thumbnails.
    void
    Set the style that this thumbnail pane has to use for display and layout.
    final javafx.beans.property.ObjectProperty<Predicate<? super T>>
    Get the filter property.
    final javafx.beans.property.ObjectProperty<JThumbnailStyle>
    Get the style property.
    protected void
    Update the thumbnails display after a change on underlying data (for example ).

    Methods inherited from class javafx.scene.layout.BorderPane

    bottomProperty, centerProperty, clearConstraints, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, getAlignment, getBottom, getCenter, getContentBias, getLeft, getMargin, getRight, getTop, layoutChildren, leftProperty, rightProperty, setAlignment, setBottom, setCenter, setLeft, setMargin, setRight, setTop, topProperty

    Methods inherited from class javafx.scene.layout.Pane

    getChildren

    Methods inherited from class javafx.scene.layout.Region

    backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computeMaxHeight, computeMaxWidth, getBackground, getBorder, getClassCssMetaData, getCssMetaData, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isResizable, 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

    getBaselineOffset, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, queryAccessibleAttribute, 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, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInitialFocusTraversable, 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

    • thumbnailFilter

      public final javafx.beans.property.ObjectProperty<Predicate<? super T>> thumbnailFilterProperty
      Get the filter property. This property describe the filter that is applied to the thumbnail. The filter match the thumbnails that have to be displayed according to their content. Thumbnails that are not matching the predicate will be hidden.
      See Also:
    • thumbnailStyle

      public final javafx.beans.property.ObjectProperty<JThumbnailStyle> thumbnailStyleProperty
      Get the style property. This property describe the style that is applied to the thumbnail.
      See Also:
  • Constructor Details

    • JThumbnailPane

      public JThumbnailPane()
      Create a new empty and default styled thumbnails pane.
    • JThumbnailPane

      public JThumbnailPane(JThumbnailStyle style)
      Create a new empty thumbnail pane.
      Parameters:
      style - the style of the pane.
    • JThumbnailPane

      public JThumbnailPane(boolean scrollable, JThumbnailStyle style)
      Create a new pane that enable to display and manage thumbnails.
      Parameters:
      scrollable - true if the pane has to be scrollable or false otherwise
      style - the style of the pane
  • Method Details

    • addThumbnailActivationHandler

      public boolean addThumbnailActivationHandler(JThumbnailActivationHandler<T> handler)
      Add the given thumbnail activation handler to this component.
      Parameters:
      handler - the handler to add
      Returns:
      true if the given handler is added and false otherwise
      See Also:
    • removeThumbnailActivationHandler

      public boolean removeThumbnailActivationHandler(JThumbnailActivationHandler<T> handler)
      Remove the given thumbnail activation handler from this component.
      Parameters:
      handler - the handler to remove
      Returns:
      true if the given handler is removed and false otherwise
      See Also:
    • addThumbnailSelectionHandler

      public boolean addThumbnailSelectionHandler(JThumbnailSelectionHandler<T> handler)
      Add the given thumbnail selection handler to this component.
      Parameters:
      handler - the handler to add
      Returns:
      true if the given handler is added and false otherwise
      See Also:
    • removeThumbnailSelectionHandler

      public boolean removeThumbnailSelectionHandler(JThumbnailSelectionHandler<T> handler)
      Remove the given thumbnail selection handler from this component.
      Parameters:
      handler - the handler to remove
      Returns:
      true if the given handler is removed and false otherwise
      See Also:
    • thumbnailFilterProperty

      public final javafx.beans.property.ObjectProperty<Predicate<? super T>> thumbnailFilterProperty()
      Get the filter property. This property describe the filter that is applied to the thumbnail. The filter match the thumbnails that have to be displayed according to their content. Thumbnails that are not matching the predicate will be hidden.
      Returns:
      the filter property
    • thumbnailStyleProperty

      public final javafx.beans.property.ObjectProperty<JThumbnailStyle> thumbnailStyleProperty()
      Get the style property. This property describe the style that is applied to the thumbnail.
      Returns:
      the style property
    • addThumbnail

      public boolean addThumbnail(JThumbnail<T> thumbnail)
      Add the given thumbnail to this pane.
      Parameters:
      thumbnail - the thumbnail to add
      Returns:
      true if the thumbnail is successfully added and false otherwise
    • removeThumbnail

      public boolean removeThumbnail(JThumbnail<T> thumbnail)
      Remove the given thumbnail from this pane.
      Parameters:
      thumbnail - the thumbnail to remove
      Returns:
      true if the thumbnail is successfully removed and false otherwise
    • setStyle

      public void setStyle(JThumbnailStyle style)
      Set the style that this thumbnail pane has to use for display and layout.
      Parameters:
      style - the style that this thumbnail pane has to use for display and layout
    • getItems

      public List<T> getItems()
      Get the items that are displayed within the thumbnail pane. If a filter is applied on the pane, only items that are attached to a visible thumbnail are returned.
      Returns:
      the items that are displayed within the thumbnail pane
    • setFilter

      public void setFilter(Predicate<? super T> predicate)
      Apply the filter defined by the given predicate to the displayed thumbnails. All thumbnail that are not accepted by the filter are masked and cannot be selected or activated. if null is given, no filter is applied.
      Parameters:
      predicate - the filter predicate
    • update

      protected void update()
      Update the thumbnails display after a change on underlying data (for example ).