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
TypePropertyDescriptionfinal 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, text
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/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_SIZE
Fields inherited from class javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionfinal void
Used to add one or more tags programmatically.final void
Used to clear all tags programmatically.void
commit()
Overridden to modify the behaviour for the tag field.protected javafx.scene.control.Skin<?>
final javafx.collections.ObservableList<T>
getTags()
Gets the value of thetags
property.final javafx.scene.control.MultipleSelectionModel<T>
Gets the value of thetagSelectionModel
property.final javafx.util.Callback<T,
javafx.scene.Node> Gets the value of thetagViewFactory
property.final void
removeTags
(T... values) Used to remove one or more tags programmatically.final void
Sets the value of thetags
property.final void
setTagSelectionModel
(javafx.scene.control.MultipleSelectionModel<T> tagSelectionModel) Sets the value of thetagSelectionModel
property.final void
setTagViewFactory
(javafx.util.Callback<T, javafx.scene.Node> tagViewFactory) Sets the value of thetagViewFactory
property.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 void
update
(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, textProperty
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
-
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:
createDefaultSkin
in classSearchField<T>
-
getUserAgentStylesheet
- Overrides:
getUserAgentStylesheet
in 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:
commit
in classSearchField<T>
-
update
Overridden to remove the already tagged items from the suggestion list.- Overrides:
update
in classSearchField<T>
- Parameters:
newSuggestions
- the new suggestions to use for the field
-
getTags
Gets the value of thetags
property.- Property description:
- A list property used to store the tags.
- Returns:
- the value of the
tags
property - See Also:
-
tagsProperty
A list property used to store the tags.- Returns:
- the list of tags
- See Also:
-
setTags
Sets the value of thetags
property.- Property description:
- A list property used to store the tags.
- Parameters:
tags
- the value for thetags
property- 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 thetagViewFactory
property.- Property description:
- A callback used to create the nodes that represent the tags. The default implementation uses labels.
- Returns:
- the value of the
tagViewFactory
property - See Also:
-
setTagViewFactory
Sets the value of thetagViewFactory
property.- Property description:
- A callback used to create the nodes that represent the tags. The default implementation uses labels.
- Parameters:
tagViewFactory
- the value for thetagViewFactory
property- See Also:
-
getTagSelectionModel
Gets the value of thetagSelectionModel
property.- Property description:
- A selection model for the tags shown by the field.
- Returns:
- the value of the
tagSelectionModel
property - 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 thetagSelectionModel
property.- Property description:
- A selection model for the tags shown by the field.
- Parameters:
tagSelectionModel
- the value for thetagSelectionModel
property- See Also:
-