Class SearchTextField
- All Implemented Interfaces:
javafx.css.Styleable, javafx.event.EventTarget, javafx.scene.control.Skinnable
The history manager is disabled by default, but it can be enabled using the setHistoryManager(HistoryManager) method.
We have implemented a local history manager, StringHistoryManager, which uses the Java Preferences API to store history records.
You can enable it via the setHistoryManager(HistoryManager) method.
By default, when the field loses its focus or the user presses the "enter" key (triggering the onAction event), the
text is added to the history. This behavior can be disabled by setting the addingItemToHistoryOnEnterProperty()
and / or the addingItemToHistoryOnEnterProperty() to false.
Additionally, history can be manually added based on user actions, such as after typing text and selecting an item
from a ListView or TableView that displays results, or through other interactions, by calling the getHistoryManager()
method to access the StringHistoryManager instance. then calling the HistoryManager.add(Object)} method.
-
Nested Class Summary
Nested classes/interfaces inherited from class javafx.scene.control.TextInputControl
javafx.scene.control.TextInputControl.Content -
Property Summary
PropertiesTypePropertyDescriptionfinal javafx.beans.property.BooleanPropertyDetermines whether the text of the text field should be added to the history when the user presses the Enter key.final javafx.beans.property.BooleanPropertyDetermines whether the text of the text field should be added to the history when the field losses its focus.final javafx.beans.property.ObjectProperty<HistoryManager<String>> The history manager that is used to manage the history of the search text field.final javafx.beans.property.ObjectProperty<javafx.scene.Node> Returns the property representing the history placeholder node.final javafx.beans.property.BooleanPropertyDetermines whether the text field should have round corners.Properties inherited from class org.controlsfx.control.textfield.CustomTextField
left, rightProperties inherited from class javafx.scene.control.TextField
alignment, onAction, prefColumnCountProperties inherited from class javafx.scene.control.TextInputControl
anchor, caretPosition, editable, font, length, promptText, redoable, selectedText, selection, textFormatter, text, undoableProperties 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 -
Field Summary
Fields inherited from class javafx.scene.control.TextField
DEFAULT_PREF_COLUMN_COUNTFields 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
ConstructorsConstructorDescriptionConstructs a new text field customized for search operations. -
Method Summary
Modifier and TypeMethodDescriptionfinal javafx.beans.property.BooleanPropertyDetermines whether the text of the text field should be added to the history when the user presses the Enter key.final javafx.beans.property.BooleanPropertyDetermines whether the text of the text field should be added to the history when the field losses its focus.static List<javafx.css.CssMetaData<? extends javafx.css.Styleable, ?>> List<javafx.css.CssMetaData<? extends javafx.css.Styleable, ?>> final HistoryManager<String> Gets the value of thehistoryManagerproperty.final javafx.scene.NodeGets the value of thehistoryPlaceholderproperty.final javafx.beans.property.ObjectProperty<HistoryManager<String>> The history manager that is used to manage the history of the search text field.final javafx.beans.property.ObjectProperty<javafx.scene.Node> Returns the property representing the history placeholder node.final booleanGets the value of theaddingItemToHistoryOnEnterproperty.final booleanGets the value of theaddingItemToHistoryOnFocusLostproperty.final booleanisRound()Gets the value of theroundproperty.final javafx.beans.property.BooleanPropertyDetermines whether the text field should have round corners.final voidsetAddingItemToHistoryOnEnter(boolean addingItemToHistoryOnEnter) Sets the value of theaddingItemToHistoryOnEnterproperty.final voidsetAddingItemToHistoryOnFocusLost(boolean addingItemToHistoryOnFocusLost) Sets the value of theaddingItemToHistoryOnFocusLostproperty.final voidsetHistoryManager(HistoryManager<String> historyManager) Sets the value of thehistoryManagerproperty.final voidsetHistoryPlaceholder(javafx.scene.Node historyPlaceholder) Sets the value of thehistoryPlaceholderproperty.final voidsetRound(boolean round) Sets the value of theroundproperty.Methods inherited from class org.controlsfx.control.textfield.CustomTextField
createDefaultSkin, getLeft, getRight, leftProperty, rightProperty, setLeft, setRightMethods inherited from class javafx.scene.control.TextField
alignmentProperty, getAlignment, getCharacters, getOnAction, getPrefColumnCount, onActionProperty, prefColumnCountProperty, setAlignment, setOnAction, setPrefColumnCountMethods inherited from class javafx.scene.control.TextInputControl
anchorProperty, appendText, backward, cancelEdit, caretPositionProperty, clear, commitValue, copy, cut, deleteNextChar, deletePreviousChar, deleteText, deleteText, deselect, editableProperty, end, endOfNextWord, executeAccessibleAction, extendSelection, fontProperty, forward, getAnchor, getCaretPosition, getContent, getFont, getLength, getPromptText, getSelectedText, getSelection, getText, getText, getTextFormatter, home, insertText, isEditable, isRedoable, isUndoable, lengthProperty, nextWord, paste, positionCaret, previousWord, promptTextProperty, queryAccessibleAttribute, redo, redoableProperty, replaceSelection, replaceText, replaceText, selectAll, selectBackward, selectedTextProperty, selectEnd, selectEndOfNextWord, selectForward, selectHome, selectionProperty, selectNextWord, selectPositionCaret, selectPreviousWord, selectRange, setEditable, setFont, setPromptText, setText, setTextFormatter, textFormatterProperty, textProperty, undo, undoablePropertyMethods inherited from class javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, getBaselineOffset, getContextMenu, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, layoutChildren, 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, requestFocusTraversal, 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 Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface javafx.css.Styleable
getStyleableNode
-
Property Details
-
historyPlaceholder
public final javafx.beans.property.ObjectProperty<javafx.scene.Node> historyPlaceholderPropertyReturns the property representing the history placeholder node.- See Also:
-
addingItemToHistoryOnEnter
public final javafx.beans.property.BooleanProperty addingItemToHistoryOnEnterPropertyDetermines whether the text of the text field should be added to the history when the user presses the Enter key.- See Also:
-
addingItemToHistoryOnFocusLost
public final javafx.beans.property.BooleanProperty addingItemToHistoryOnFocusLostPropertyDetermines whether the text of the text field should be added to the history when the field losses its focus.- See Also:
-
round
public final javafx.beans.property.BooleanProperty roundPropertyDetermines whether the text field should have round corners.CSS:
-fx-round: true|false— default:false- See Also:
-
historyManager
The history manager that is used to manage the history of the search text field.If its value is null, the history feature will not be enabled, which means only the magnifying glass icon will be displayed, and the dropdown arrow next to the magnifying glass will not be shown.
If its value is not null, the history feature will be enabled, meaning that both the magnifying glass icon and the dropdown arrow will be displayed. Clicking the magnifying glass icon button will display the history popup.
To enable the history feature, you need to set an instance of
HistoryManager. Typically, you would use an instance ofStringHistoryManager, which is an implementation ofHistoryManagerthat manages string-type history records.- See Also:
-
-
Constructor Details
-
SearchTextField
public SearchTextField()Constructs a new text field customized for search operations.The history manager is initialized with default values.
-
-
Method Details
-
getUserAgentStylesheet
- Overrides:
getUserAgentStylesheetin classorg.controlsfx.control.textfield.CustomTextField
-
historyPlaceholderProperty
public final javafx.beans.property.ObjectProperty<javafx.scene.Node> historyPlaceholderProperty()Returns the property representing the history placeholder node.- Returns:
- the property representing the history placeholder node
- See Also:
-
getHistoryPlaceholder
public final javafx.scene.Node getHistoryPlaceholder()Gets the value of thehistoryPlaceholderproperty.- Property description:
- Returns the property representing the history placeholder node.
- Returns:
- the value of the
historyPlaceholderproperty - See Also:
-
setHistoryPlaceholder
public final void setHistoryPlaceholder(javafx.scene.Node historyPlaceholder) Sets the value of thehistoryPlaceholderproperty.- Property description:
- Returns the property representing the history placeholder node.
- Parameters:
historyPlaceholder- the value for thehistoryPlaceholderproperty- See Also:
-
addingItemToHistoryOnEnterProperty
public final javafx.beans.property.BooleanProperty addingItemToHistoryOnEnterProperty()Determines whether the text of the text field should be added to the history when the user presses the Enter key.- Returns:
- true if the text should be added to the history on Enter, false otherwise
- See Also:
-
isAddingItemToHistoryOnEnter
public final boolean isAddingItemToHistoryOnEnter()Gets the value of theaddingItemToHistoryOnEnterproperty.- Property description:
- Determines whether the text of the text field should be added to the history when the user presses the Enter key.
- Returns:
- the value of the
addingItemToHistoryOnEnterproperty - See Also:
-
setAddingItemToHistoryOnEnter
public final void setAddingItemToHistoryOnEnter(boolean addingItemToHistoryOnEnter) Sets the value of theaddingItemToHistoryOnEnterproperty.- Property description:
- Determines whether the text of the text field should be added to the history when the user presses the Enter key.
- Parameters:
addingItemToHistoryOnEnter- the value for theaddingItemToHistoryOnEnterproperty- See Also:
-
addingItemToHistoryOnFocusLostProperty
public final javafx.beans.property.BooleanProperty addingItemToHistoryOnFocusLostProperty()Determines whether the text of the text field should be added to the history when the field losses its focus.- Returns:
- true if the text should be added to the history on focus lost, false otherwise
- See Also:
-
isAddingItemToHistoryOnFocusLost
public final boolean isAddingItemToHistoryOnFocusLost()Gets the value of theaddingItemToHistoryOnFocusLostproperty.- Property description:
- Determines whether the text of the text field should be added to the history when the field losses its focus.
- Returns:
- the value of the
addingItemToHistoryOnFocusLostproperty - See Also:
-
setAddingItemToHistoryOnFocusLost
public final void setAddingItemToHistoryOnFocusLost(boolean addingItemToHistoryOnFocusLost) Sets the value of theaddingItemToHistoryOnFocusLostproperty.- Property description:
- Determines whether the text of the text field should be added to the history when the field losses its focus.
- Parameters:
addingItemToHistoryOnFocusLost- the value for theaddingItemToHistoryOnFocusLostproperty- See Also:
-
roundProperty
public final javafx.beans.property.BooleanProperty roundProperty()Determines whether the text field should have round corners.CSS:
-fx-round: true|false— default:false- Returns:
- true if the text field should have round corners, false otherwise
- See Also:
-
isRound
public final boolean isRound()Gets the value of theroundproperty.- Property description:
- Determines whether the text field should have round corners.
CSS:
-fx-round: true|false— default:false - Returns:
- the value of the
roundproperty - See Also:
-
setRound
public final void setRound(boolean round) Sets the value of theroundproperty.- Property description:
- Determines whether the text field should have round corners.
CSS:
-fx-round: true|false— default:false - Parameters:
round- the value for theroundproperty- See Also:
-
historyManagerProperty
The history manager that is used to manage the history of the search text field.If its value is null, the history feature will not be enabled, which means only the magnifying glass icon will be displayed, and the dropdown arrow next to the magnifying glass will not be shown.
If its value is not null, the history feature will be enabled, meaning that both the magnifying glass icon and the dropdown arrow will be displayed. Clicking the magnifying glass icon button will display the history popup.
To enable the history feature, you need to set an instance of
HistoryManager. Typically, you would use an instance ofStringHistoryManager, which is an implementation ofHistoryManagerthat manages string-type history records.- Returns:
- the property representing the history manager
- See Also:
-
getHistoryManager
Gets the value of thehistoryManagerproperty.- Property description:
- The history manager that is used to manage the history of the search text field.
If its value is null, the history feature will not be enabled, which means only the magnifying glass icon will be displayed, and the dropdown arrow next to the magnifying glass will not be shown.
If its value is not null, the history feature will be enabled, meaning that both the magnifying glass icon and the dropdown arrow will be displayed. Clicking the magnifying glass icon button will display the history popup.
To enable the history feature, you need to set an instance of
HistoryManager. Typically, you would use an instance ofStringHistoryManager, which is an implementation ofHistoryManagerthat manages string-type history records. - Returns:
- the value of the
historyManagerproperty - See Also:
-
setHistoryManager
Sets the value of thehistoryManagerproperty.- Property description:
- The history manager that is used to manage the history of the search text field.
If its value is null, the history feature will not be enabled, which means only the magnifying glass icon will be displayed, and the dropdown arrow next to the magnifying glass will not be shown.
If its value is not null, the history feature will be enabled, meaning that both the magnifying glass icon and the dropdown arrow will be displayed. Clicking the magnifying glass icon button will display the history popup.
To enable the history feature, you need to set an instance of
HistoryManager. Typically, you would use an instance ofStringHistoryManager, which is an implementation ofHistoryManagerthat manages string-type history records. - Parameters:
historyManager- the value for thehistoryManagerproperty- See Also:
-
getControlCssMetaData
- Overrides:
getControlCssMetaDatain classjavafx.scene.control.TextField
-
getClassCssMetaData
-