java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.control.Control
com.dlsc.gemsfx.SearchField<T>
com.dlsc.gemsfx.TagsField<T>
- Type Parameters:
T- the type of objects to search for and to tag
- All Implemented Interfaces:
javafx.css.Styleable,javafx.event.EventTarget,javafx.scene.control.Skinnable
- Direct Known Subclasses:
TagsFieldApp.CountriesTagsField
This field is a specialisation of the
SearchField control and supports
the additional feature of using the selected object as a tag. Tags are shown in front
of the text input field. The control provides an observable list of the currently
added tags. In addition, the field also allows the user to select one or more of
the tags. The selection state is provided by the selection model. The field adds
and removes tags via undoable commands which means that, for example, a deleted tag
can be recovered by pressing the standard undo (or redo) shortcut.-
Property Summary
PropertiesTypePropertyDescriptionfinal javafx.beans.property.ObjectProperty<javafx.scene.control.MultipleSelectionModel<T>>A selection model for the tags shown by the field.final javafx.beans.property.ListProperty<T>A list property used to store the tags.final javafx.beans.property.ObjectProperty<javafx.util.Callback<T,javafx.scene.Node>> A callback used to create the nodes that represent the tags.Properties inherited from class com.dlsc.gemsfx.SearchField
autoCompletedText, autoCompletionGap, busyGraphic, cellFactory, comparator, converter, fullText, graphic, hidePopupWithSingleChoice, left, matcher, newItemProducer, newItem, onSearchFinished, onSearchStarted, placeholder, promptText, right, searching, selectedItem, showSearchIcon, suggestionProvider, textProperties 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, 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/interfaces inherited from class com.dlsc.gemsfx.SearchField
SearchField.SearchEvent, SearchField.SearchFieldListCell<T>, SearchField.SearchFieldSuggestionRequest -
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 TypeMethodDescriptionfinal voidUsed to add one or more tags programmatically.final voidUsed to clear all tags programmatically.voidcommit()Overridden to modify the behaviour for the tag field.protected javafx.scene.control.Skin<?>final javafx.collections.ObservableList<T>getTags()Gets the value of thetagsproperty.final javafx.scene.control.MultipleSelectionModel<T>Gets the value of thetagSelectionModelproperty.final javafx.util.Callback<T,javafx.scene.Node> Gets the value of thetagViewFactoryproperty.final voidremoveTags(T... values) Used to remove one or more tags programmatically.final voidSets the value of thetagsproperty.final voidsetTagSelectionModel(javafx.scene.control.MultipleSelectionModel<T> tagSelectionModel) Sets the value of thetagSelectionModelproperty.final voidsetTagViewFactory(javafx.util.Callback<T, javafx.scene.Node> tagViewFactory) Sets the value of thetagViewFactoryproperty.final javafx.beans.property.ObjectProperty<javafx.scene.control.MultipleSelectionModel<T>>A selection model for the tags shown by the field.final javafx.beans.property.ListProperty<T>A list property used to store the tags.final javafx.beans.property.ObjectProperty<javafx.util.Callback<T,javafx.scene.Node>> A callback used to create the nodes that represent the tags.protected voidupdate(Collection<T> newSuggestions) Overridden to remove the already tagged items from the suggestion list.Methods inherited from class com.dlsc.gemsfx.SearchField
autoCompletedTextProperty, autoCompletionGapProperty, busyGraphicProperty, cancel, cellFactoryProperty, clear, comparatorProperty, converterProperty, fullTextProperty, getAutoCompletedText, getAutoCompletionGap, getBusyGraphic, getCellFactory, getComparator, getConverter, getEditor, getFullText, getGraphic, getLeft, getMatcher, getNewItemProducer, getOnSearchFinished, getOnSearchStarted, getPlaceholder, getPromptText, getRight, getSelectedItem, getSuggestionProvider, getSuggestions, getText, graphicProperty, hidePopupWithSingleChoiceProperty, isHidePopupWithSingleChoice, isNewItem, isSearching, isShowSearchIcon, leftProperty, matcherProperty, newItemProducerProperty, newItemProperty, onSearchFinishedProperty, onSearchStartedProperty, placeholderProperty, promptTextProperty, rightProperty, searchingProperty, select, selectedItemProperty, setAutoCompletionGap, setBusyGraphic, setCellFactory, setComparator, setConverter, setGraphic, setHidePopupWithSingleChoice, setLeft, setMatcher, setNewItemProducer, setOnSearchFinished, setOnSearchStarted, setPlaceholder, setPromptText, setRight, setSelectedItem, setShowSearchIcon, setSuggestionProvider, setText, showSearchIconProperty, suggestionProviderProperty, textPropertyMethods 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, 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, 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
-
tags
A list property used to store the tags.- See Also:
-
tagViewFactory
public final javafx.beans.property.ObjectProperty<javafx.util.Callback<T,javafx.scene.Node>> tagViewFactoryPropertyA callback used to create the nodes that represent the tags. The default implementation uses labels. -
tagSelectionModel
public final javafx.beans.property.ObjectProperty<javafx.scene.control.MultipleSelectionModel<T>> tagSelectionModelPropertyA selection model for the tags shown by the field.
-
-
Constructor Details
-
TagsField
public TagsField()Constructs a new tag field.
-
-
Method Details
-
createDefaultSkin
protected javafx.scene.control.Skin<?> createDefaultSkin()- Overrides:
createDefaultSkinin classSearchField<T>
-
getUserAgentStylesheet
- Overrides:
getUserAgentStylesheetin classSearchField<T>
-
commit
public void commit()Overridden to modify the behaviour for the tag field. The override method commits the currently selected item to become a tag.- Overrides:
commitin classSearchField<T>
-
update
Overridden to remove the already tagged items from the suggestion list.- Overrides:
updatein classSearchField<T>- Parameters:
newSuggestions- the new suggestions to use for the field
-
getTags
Gets the value of thetagsproperty.- Property description:
- A list property used to store the tags.
- Returns:
- the value of the
tagsproperty - See Also:
-
tagsProperty
A list property used to store the tags.- Returns:
- the list of tags
- See Also:
-
setTags
Sets the value of thetagsproperty.- Property description:
- A list property used to store the tags.
- Parameters:
tags- the value for thetagsproperty- See Also:
-
addTags
Used to add one or more tags programmatically. This ensures that tags are added via an undoable command.- Parameters:
values- the value to add as a tag
-
removeTags
Used to remove one or more tags programmatically. This ensures that tags are removed via an undoable command.- Parameters:
values- the tags to add
-
clearTags
public final void clearTags()Used to clear all tags programmatically. This ensures that tags are cleared via an undoable command. -
tagViewFactoryProperty
public final javafx.beans.property.ObjectProperty<javafx.util.Callback<T,javafx.scene.Node>> tagViewFactoryProperty()A callback used to create the nodes that represent the tags. The default implementation uses labels.- Returns:
- a node factory for the tags
- See Also:
-
getTagViewFactory
Gets the value of thetagViewFactoryproperty.- Property description:
- A callback used to create the nodes that represent the tags. The default implementation uses labels.
- Returns:
- the value of the
tagViewFactoryproperty - See Also:
-
setTagViewFactory
Sets the value of thetagViewFactoryproperty.- Property description:
- A callback used to create the nodes that represent the tags. The default implementation uses labels.
- Parameters:
tagViewFactory- the value for thetagViewFactoryproperty- See Also:
-
getTagSelectionModel
Gets the value of thetagSelectionModelproperty.- Property description:
- A selection model for the tags shown by the field.
- Returns:
- the value of the
tagSelectionModelproperty - See Also:
-
tagSelectionModelProperty
public final javafx.beans.property.ObjectProperty<javafx.scene.control.MultipleSelectionModel<T>> tagSelectionModelProperty()A selection model for the tags shown by the field.- Returns:
- the selection model
- See Also:
-
setTagSelectionModel
public final void setTagSelectionModel(javafx.scene.control.MultipleSelectionModel<T> tagSelectionModel) Sets the value of thetagSelectionModelproperty.- Property description:
- A selection model for the tags shown by the field.
- Parameters:
tagSelectionModel- the value for thetagSelectionModelproperty- See Also:
-