Spec-Zone.ru › OpenJavaFX 24

Класс ComboBox<T>

java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.control.Control
javafx.scene.control.ComboBoxBase<T>
javafx.scene.control.ComboBox<T>
Параметры типа:
T - Тип значения, которое было выбрано или введено в этот ComboBox
Все реализуемые интерфейсы:
Styleable, EventTarget, Skinnable
public class ComboBox<T> extends ComboBoxBase<T>
Реализация абстрактного класса ComboBoxBase для наиболее распространённого типа ComboBox, где пользователю отображается список вариантов для выбора. Дополнительную информацию о базовых концепциях и API ComboBox см. в документации класса ComboBoxBase.

Класс ComboBox добавляет к ComboBoxBase дополнительный API. Самым важным добавлением является свойство items, которое работает аналогично свойству ListView items. Другими словами, именно содержимое списка элементов отображается пользователю при нажатии на кнопку ComboBox.

ComboBox наследует свойство ComboBoxBase.valueProperty() от ComboBoxBase, но некоторые важные моменты свойства значения необходимо понимать в контексте ComboBox. К ним относятся:

  1. Свойство значения не ограничено элементами, содержащимися в списке элементов – оно может быть любым допустимым значением типа T.
  2. Если свойству значения присвоено ненулевое значение, а затем список элементов очищается, свойство значения не обнуляется.
  3. Очистка выбора selection в модели выбора не обнуляет свойство значения – оно остаётся прежним.
  4. Допустимо, чтобы модель выбора имела выделенный элемент по определённому индексу, даже если в списке нет элементов (или элементов меньше, чем заданный индекс). После заполнения списка так, что в нём будет достаточно элементов для указанного индекса, модель выбора SelectionModel.selectedItemProperty() и свойство значения будут обновлены для отражения этого элемента. Это отличается от других элементов управления, использующих модель выбора, но сделано намеренно для ComboBox.

По умолчанию при отображении всплывающего списка максимальное количество видимых строк равно 10, но это значение может быть изменено путём модификации свойства visibleRowCount. Если количество элементов в ComboBox меньше значения visibleRowCount, то вместо него будет использоваться размер списка элементов, чтобы всплывающий список не был чрезмерно длинным.

Как и в ListView, можно изменить selection model, используемый, хотя это вряд ли потребуется часто. Это потому, что ComboBox требует использования экземпляра SingleSelectionModel, и альтернативные реализации вряд ли понадобятся. Тем не менее, такая возможность существует, если окажутся необходимыми альтернативные решения.

Так как ComboBox отображает содержимое с помощью ListView, в классе ComboBox есть API для настройки пользовательского фабричного метода ячеек. Дополнительную информацию о фабриках ячеек см. в классах Cell и ListCell. Обратите внимание, что если фабричный метод ячеек задан для ComboBox, ячейки будут использоваться только в ListView, отображаемом при нажатии на ComboBox. Если необходимо также настроить отображение области «кнопки» ComboBox, можно задать экземпляр пользовательской ListCell в свойстве button cell. Один из способов сделать это показан в следующем коде (обратите внимание на использование setButtonCell:

 Callback<ListView<String>, ListCell<String>> cellFactory = ...;
 ComboBox comboBox = new ComboBox();
 comboBox.setItems(items);
 comboBox.setButtonCell(cellFactory.call(null));
 comboBox.setCellFactory(cellFactory);

Поскольку ComboBox может быть editable, и стандартный способ ввода пользователем данных осуществляется через TextField, предоставляется свойство string converter, позволяющее разработчикам указать, как преобразовать строку пользователя в объект типа T, чтобы свойство value могло его содержать. По умолчанию преобразователь просто возвращает введённую пользователем строку, что предполагает, что тип редактируемого ComboBox — String. Если указан другой тип и ComboBox должен быть редактируемым, необходимо указать пользовательский StringConverter.

Предупреждение: Элементы узлы не должны вставляться напрямую в список элементов ComboBox

ComboBox позволяет списку элементов содержать элементы любого типа, включая экземпляры Node. Вставка узлов в список элементов настоятельно не рекомендуется, так как это может привести к непредсказуемым результатам. Это связано с тем, что по умолчанию cell factory просто вставляет элементы Node непосредственно в ячейку, включая область «кнопки» ComboBox. Поскольку граф сцены позволяет размещать узлы только в одном месте, это означает, что при выборе элемента он удаляется из списка ComboBox и становится видимым в области кнопки. При изменении выбора ранее выбранный элемент возвращается в список, а новый выбор удаляется.

Важные моменты:

  • Избегайте вставки экземпляров Node напрямую в список элементов ComboBox или его модель данных.
  • Рекомендуемый подход – поместить соответствующую информацию в список элементов и предоставить пользовательский cell factory для создания узлов для заданной ячейки и обновления их по требованию, используя данные, хранящиеся в элементе для этой ячейки.
  • Избегайте создания новых Node в методе updateItem пользовательского cell factory.

Следующий минимальный пример показывает, как создать пользовательский фабричный метод ячеек для ComboBox, содержащий Node:

 ComboBox<Color> cmb = new ComboBox<>();
 cmb.getItems().addAll(
     Color.RED,
     Color.GREEN,
     Color.BLUE);

 cmb.setCellFactory(p -> {
     return new ListCell<>() {
         private final Rectangle rectangle;
         {
             setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
             rectangle = new Rectangle(10, 10);
         }

         @Override protected void updateItem(Color item, boolean empty) {
             super.updateItem(item, empty);

             if (item == null || empty) {
                 setGraphic(null);
             } else {
                 rectangle.setFill(item);
                 setGraphic(rectangle);
             }
         }
     };
 });

В этом примере используется анонимный класс ListCell в пользовательском фабричном методе ячеек. Обратите внимание, что объект Rectangle (Node) необходимо создать в блоке инициализации экземпляра или в конструкторе пользовательского класса ListCell и обновить/использовать его в методе updateItem. Image of the ComboBox control

Конечно, приведенный выше подход более подробный, но он обеспечивает необходимую функциональность без столкновений с ограничениями графа сцены.

С:
JavaFX 2.1
См. также:
  • ComboBoxBase
  • Cell
  • ListCell
  • StringConverter

Краткое описание свойств

Тип Свойство Описание
final ObjectProperty<ListCell<T>> buttonCell
Ячейка кнопки используется для отображения содержимого области кнопки в ComboBox.
final ObjectProperty<Callback<ListView<T>,ListCell<T>>> cellFactory
Настройка пользовательской фабрики ячеек позволяет полностью настроить отображение элементов в ComboBox.
final ObjectProperty<StringConverter<T>> converter
Преобразует введенный пользователем текст (когда ComboBox является editable) в объект типа T, чтобы введенное значение можно было получить через свойство value.
final ReadOnlyObjectProperty<TextField> editor
Редактор для ComboBox.
final ObjectProperty<ObservableList<T>> items
Список элементов для отображения в всплывающем окне ComboBox.
final ObjectProperty<Node> placeholder
Этот узел отображается пользователю, когда в ComboBox нет содержимого для отображения.
final ObjectProperty<SingleSelectionModel<T>> selectionModel
Модель выбора для ComboBox.
final IntegerProperty visibleRowCount
Максимальное количество строк, видимых в всплывающем окне ComboBox при его отображении.

Свойства, объявленные в классе javafx.scene.control.ComboBoxBase

armed, editable, onAction, onHidden, onHiding, onShowing, onShown, promptText, showing, value

Свойства, объявленные в классе javafx.scene.control.Control

contextMenu, skin, tooltip

Свойства, объявленные в классе javafx.scene.layout.Region

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

Свойства, объявленные в классе javafx.scene.Parent

needsLayout

Свойства, объявленные в классе 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

Краткое описание полей

Поля, объявленные в классе javafx.scene.control.ComboBoxBase

ON_HIDDEN, ON_HIDING, ON_SHOWING, ON_SHOWN

Поля, объявленные в классе javafx.scene.layout.Region

USE_COMPUTED_SIZE, USE_PREF_SIZE

Поля, объявленные в классе javafx.scene.Node

BASELINE_OFFSET_SAME_AS_HEIGHT

Краткое описание конструкторов

Конструктор Описание
ComboBox()
Создаёт экземпляр ComboBox по умолчанию со списком items и моделью выбора selection model по умолчанию.
ComboBox(ObservableList<T> items)
Создаёт экземпляр ComboBox по умолчанию со списком элементов и моделью выбора selection model по умолчанию.

Краткое описание методов

Модификатор и тип Метод Описание
final ObjectProperty<ListCell<T>> buttonCellProperty()
Ячейка кнопки используется для отображения содержимого области «кнопка» в ComboBox.
final void cancelEdit()
Если ComboBox editable, вызов этого метода попытается заменить текст редактора последним сохранённым value.
final ObjectProperty<Callback<ListView<T>,ListCell<T>>> cellFactoryProperty()
Настройка пользовательского фабричного метода ячейки позволяет полностью настроить отображение элементов в ComboBox.
final void commitValue()
Если ComboBox editable, вызов этого метода попытается сохранить текущий текст и преобразовать его в value.
final ObjectProperty<StringConverter<T>> converterProperty()
Преобразует введённый пользователем текст (когда ComboBox editable) в объект типа T, чтобы ввод можно было получить через свойство value.
final ReadOnlyObjectProperty<TextField> editorProperty()
Редактор для ComboBox.
final ListCell<T> getButtonCell()
Получение значения свойства buttonCell.
final Callback<ListView<T>,ListCell<T>> getCellFactory()
Получение значения свойства cellFactory.
final StringConverter<T> getConverter()
Получение значения свойства converter.
final TextField getEditor()
Получение значения свойства editor.
final ObservableList<T> getItems()
Получение значения свойства items.
final Node getPlaceholder()
Получение значения свойства placeholder.
final SingleSelectionModel<T> getSelectionModel()
Получение значения свойства selectionModel.
final int getVisibleRowCount()
Получение значения свойства visibleRowCount.
final ObjectProperty<ObservableList<T>> itemsProperty()
Список элементов для отображения в всплывающем окне ComboBox.
final ObjectProperty<Node> placeholderProperty()
Этот узел отображается пользователю, когда ComboBox не имеет отображаемого содержимого.
final ObjectProperty<SingleSelectionModel<T>> selectionModelProperty()
Модель выбора для ComboBox.
final void setButtonCell(ListCell<T> value)
Устанавливает значение свойства buttonCell.
final void setCellFactory(Callback<ListView<T>,ListCell<T>> value)
Устанавливает значение свойства cellFactory.
final void setConverter(StringConverter<T> value)
Устанавливает значение свойства converter.
final void setItems(ObservableList<T> value)
Устанавливает значение свойства items.
final void setPlaceholder(Node value)
Устанавливает значение свойства placeholder.
final void setSelectionModel(SingleSelectionModel<T> value)
Устанавливает значение свойства selectionModel.
final void setVisibleRowCount(int value)
Устанавливает значение свойства visibleRowCount.
final IntegerProperty visibleRowCountProperty()
Максимальное количество видимых строк в всплывающем окне ComboBox при его отображении.

Методы, унаследованные от класса javafx.scene.control.ComboBoxBase

arm, armedProperty, disarm, editableProperty, getOnAction, getOnHidden, getOnHiding, getOnShowing, getOnShown, getPromptText, getValue, hide, isArmed, isEditable, isShowing, onActionProperty, onHiddenProperty, onHidingProperty, onShowingProperty, onShownProperty, promptTextProperty, setEditable, setOnAction, setOnHidden, setOnHiding, setOnShowing, setOnShown, setPromptText, setValue, show, showingProperty, valueProperty

Методы, унаследованные от класса javafx.scene.control.Control

computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, contextMenuProperty, createDefaultSkin, getClassCssMetaData, getContextMenu, getControlCssMetaData, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty

Методы, унаследованные от класса javafx.scene.layout.Region

backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computePrefHeight, computePrefWidth, getBackground, getBorder, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, 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

Методы, унаследованные от класса javafx.scene.Parent

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

Методы, унаследованные от класса 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, 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, lookup, 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, queryAccessibleAttribute, 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, visibleProperty

Методы, унаследованные от класса java.lang.Object

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

Методы, унаследованные от интерфейса javafx.css.Styleable

getStyleableNode

Подробности свойств

items

public final ObjectProperty<ObservableList<T>> itemsProperty
Список элементов, которые нужно отобразить в раскрывающемся списке ComboBox.
См. также:
  • getItems()
  • setItems(ObservableList)
  • itemsProperty()

converter

public final ObjectProperty<StringConverter<T>> converterProperty
Преобразует введенный пользователем текст (когда ComboBox редактируемый) в объект типа T, чтобы входные данные можно было получить через свойство value.
См. также:
  • getConverter()
  • setConverter(StringConverter)
  • converterProperty()

cellFactory

public final ObjectProperty<Callback<ListView<T>,ListCell<T>>> cellFactoryProperty
Настройка пользовательской фабрики ячеек позволяет полностью настроить отображение элементов в ComboBox. Обратитесь к Cell javadoc для получения дополнительной информации о фабриках ячеек.
См. также:
  • getCellFactory()
  • setCellFactory(Callback)
  • cellFactoryProperty()

buttonCell

public final ObjectProperty<ListCell<T>> buttonCellProperty
Ячейка кнопки используется для отображения содержимого в области 'кнопки' ComboBox. Если здесь установлена ячейка, это не изменяет отображение списка выпадающего списка ComboBox — это отображение контролируется через API cell factory.
С:
JavaFX 2.2
См. также:
  • getButtonCell()
  • setButtonCell(ListCell)
  • buttonCellProperty()

selectionModel

public final ObjectProperty<SingleSelectionModel<T>> selectionModelProperty
Модель выбора для ComboBox. ComboBox поддерживает только одиночный выбор.
См. также:
  • getSelectionModel()
  • setSelectionModel(SingleSelectionModel)
  • selectionModelProperty()

visibleRowCount

public final IntegerProperty visibleRowCountProperty
Максимальное количество видимых строк в выпадающем списке ComboBox при его отображении. По умолчанию это значение равно 10, но его можно изменить, чтобы увеличить или уменьшить высоту выпадающего списка.
См. также:
  • getVisibleRowCount()
  • setVisibleRowCount(int)
  • visibleRowCountProperty()

editor

public final ReadOnlyObjectProperty<TextField> editorProperty
Редактор для ComboBox. Редактор равен null, если ComboBox не editable.
С:
JavaFX 2.2
См. также:
  • getEditor()
  • editorProperty()

placeholder

public final ObjectProperty<Node> placeholderProperty
Этот узел отображается пользователю, когда в ComboBox нет данных для отображения. Заполнитель отображается в области выпадающего списка ComboBox, когда список элементов равен null или пуст.
С:
JavaFX 8.0
См. также:
  • getPlaceholder()
  • setPlaceholder(Node)
  • placeholderProperty()

Подробности конструкторов

ComboBox

public ComboBox()
Создает экземпляр ComboBox по умолчанию с пустым списком items и моделью выбора по умолчанию selection model.

ComboBox

public ComboBox(ObservableList<T> items)
Создает экземпляр ComboBox по умолчанию со списком предоставленных элементов и моделью выбора по умолчанию selection model.
Параметры:
items - список элементов

Подробности методов

setItems

public final void setItems(ObservableList<T> value)
Устанавливает значение свойства items.
Описание свойства:
Список элементов, которые нужно отобразить в раскрывающемся списке ComboBox.
Параметры:
value - значение для свойства items
См. также:
  • getItems()
  • itemsProperty()

getItems

public final ObservableList<T> getItems()
Получает значение свойства items.
Описание свойства:
Список элементов, которые нужно отобразить в раскрывающемся списке ComboBox.
Возвращает:
значение свойства items
См. также:
  • setItems(ObservableList)
  • itemsProperty()

itemsProperty

public final ObjectProperty<ObservableList<T>> itemsProperty()
Список элементов, которые нужно отобразить в раскрывающемся списке ComboBox.
Возвращает:
свойство items
См. также:
  • getItems()
  • setItems(ObservableList)

converterProperty

public final ObjectProperty<StringConverter<T>> converterProperty()
Преобразует введенный пользователем текст (когда ComboBox редактируемый) в объект типа T, чтобы входные данные можно было получить через свойство value.
Возвращает:
свойство converter
См. также:
  • getConverter()
  • setConverter(StringConverter)

setConverter

public final void setConverter(StringConverter<T> value)
Устанавливает значение свойства converter.
Описание свойства:
Преобразует введенный пользователем текст (когда ComboBox редактируемый) в объект типа T, чтобы входные данные можно было получить через свойство value.
Параметры:
value - значение для свойства converter
См. также:
  • getConverter()
  • converterProperty()

getConverter

public final StringConverter<T> getConverter()
Получает значение свойства converter.
Описание свойства:
Преобразует введенный пользователем текст (когда ComboBox редактируемый) в объект типа T, чтобы входные данные можно было получить через свойство value.
Возвращает:
значение свойства converter
См. также:
  • setConverter(StringConverter)
  • converterProperty()

setCellFactory

public final void setCellFactory(Callback<ListView<T>,ListCell<T>> value)
Устанавливает значение свойства cellFactory.
Описание свойства:
Настройка пользовательской фабрики ячеек позволяет полностью настроить отображение элементов в ComboBox. Обратитесь к Cell javadoc для получения дополнительной информации о фабриках ячеек.
Параметры:
value - значение для свойства cellFactory
См. также:
  • getCellFactory()
  • cellFactoryProperty()

getCellFactory

public final Callback<ListView<T>,ListCell<T>> getCellFactory()
Получение значения свойства cellFactory.
Описание свойства:
Настройка пользовательского фабрики ячеек позволяет полностью настроить отображение элементов в ComboBox. Дополнительную информацию о фабриках ячеек см. в Cell javadoc.
Возвращает:
значение свойства cellFactory
См. также:
  • setCellFactory(Callback)
  • cellFactoryProperty()

cellFactoryProperty

public final ObjectProperty<Callback<ListView<T>,ListCell<T>>> cellFactoryProperty()
Настройка пользовательского фабрики ячеек позволяет полностью настроить отображение элементов в ComboBox. Дополнительную информацию о фабриках ячеек см. в Cell javadoc.
Возвращает:
свойство cellFactory
См. также:
  • getCellFactory()
  • setCellFactory(Callback)

buttonCellProperty

public final ObjectProperty<ListCell<T>> buttonCellProperty()
Ячейка кнопки используется для отображения содержимого в области кнопки ComboBox. Если здесь установлена ячейка, это не изменяет отображение списка выпадающего списка ComboBox - это отображение контролируется через API cell factory.
Возвращает:
свойство ячейки кнопки
С:
JavaFX 2.2
См. также:
  • getButtonCell()
  • setButtonCell(ListCell)

setButtonCell

public final void setButtonCell(ListCell<T> value)
Устанавливает значение свойства buttonCell.
Описание свойства:
Ячейка кнопки используется для отображения содержимого в области кнопки ComboBox. Если здесь установлена ячейка, это не изменяет отображение списка выпадающего списка ComboBox - это отображение контролируется через API cell factory.
Параметры:
value - значение для свойства buttonCell
С:
JavaFX 2.2
См. также:
  • getButtonCell()
  • buttonCellProperty()

getButtonCell

public final ListCell<T> getButtonCell()
Получение значения свойства buttonCell.
Описание свойства:
Ячейка кнопки используется для отображения содержимого в области кнопки ComboBox. Если здесь установлена ячейка, это не изменяет отображение списка выпадающего списка ComboBox - это отображение контролируется через API cell factory.
Возвращает:
значение свойства buttonCell
С:
JavaFX 2.2
См. также:
  • setButtonCell(ListCell)
  • buttonCellProperty()

setSelectionModel

public final void setSelectionModel(SingleSelectionModel<T> value)
Устанавливает значение свойства selectionModel.
Описание свойства:
Модель выбора для ComboBox. ComboBox поддерживает только одиночный выбор.
Параметры:
value - значение для свойства selectionModel
См. также:
  • getSelectionModel()
  • selectionModelProperty()

getSelectionModel

public final SingleSelectionModel<T> getSelectionModel()
Получение значения свойства selectionModel.
Описание свойства:
Модель выбора для ComboBox. ComboBox поддерживает только одиночный выбор.
Возвращает:
значение свойства selectionModel
См. также:
  • setSelectionModel(SingleSelectionModel)
  • selectionModelProperty()

selectionModelProperty

public final ObjectProperty<SingleSelectionModel<T>> selectionModelProperty()
Модель выбора для ComboBox. ComboBox поддерживает только одиночный выбор.
Возвращает:
свойство selectionModel
См. также:
  • getSelectionModel()
  • setSelectionModel(SingleSelectionModel)

setVisibleRowCount

public final void setVisibleRowCount(int value)
Устанавливает значение свойства visibleRowCount.
Описание свойства:
Максимальное количество видимых строк в всплывающем окне ComboBox при его отображении. По умолчанию это значение равно 10, но его можно изменить, чтобы увеличить или уменьшить высоту всплывающего окна.
Параметры:
value - значение для свойства visibleRowCount
См. также:
  • getVisibleRowCount()
  • visibleRowCountProperty()

getVisibleRowCount

public final int getVisibleRowCount()
Получение значения свойства visibleRowCount.
Описание свойства:
Максимальное количество видимых строк в всплывающем окне ComboBox при его отображении. По умолчанию это значение равно 10, но его можно изменить, чтобы увеличить или уменьшить высоту всплывающего окна.
Возвращает:
значение свойства visibleRowCount
См. также:
  • setVisibleRowCount(int)
  • visibleRowCountProperty()

visibleRowCountProperty

public final IntegerProperty visibleRowCountProperty()
Максимальное количество видимых строк в всплывающем окне ComboBox при его отображении. По умолчанию это значение равно 10, но его можно изменить, чтобы увеличить или уменьшить высоту всплывающего окна.
Возвращает:
свойство visibleRowCount
См. также:
  • getVisibleRowCount()
  • setVisibleRowCount(int)

getEditor

public final TextField getEditor()
Получение значения свойства editor.
Описание свойства:
Редактор для ComboBox. Редактор равен null, если ComboBox не editable.
Возвращает:
значение свойства editor
С:
JavaFX 2.2
См. также:
  • editorProperty()

editorProperty

public final ReadOnlyObjectProperty<TextField> editorProperty()
Редактор для ComboBox. Редактор равен null, если ComboBox не editable.
Возвращает:
свойство editor
С:
JavaFX 2.2
См. также:
  • getEditor()

placeholderProperty

public final ObjectProperty<Node> placeholderProperty()
Этот узел отображается пользователю, когда ComboBox не имеет отображаемого содержимого. Узел placeholder отображается в области выпадающего списка ComboBox, когда список элементов равен null или пуст.
Возвращает:
свойство placeholder
С:
JavaFX 8.0
См. также:
  • getPlaceholder()
  • setPlaceholder(Node)

setPlaceholder

public final void setPlaceholder(Node value)
Устанавливает значение свойства placeholder.
Описание свойства:
Этот узел отображается пользователю, когда ComboBox не имеет отображаемого содержимого. Узел placeholder отображается в области выпадающего списка ComboBox, когда список элементов равен null или пуст.
Параметры:
value - значение для свойства placeholder
С:
JavaFX 8.0
См. также:
  • getPlaceholder()
  • placeholderProperty()

getPlaceholder

public final Node getPlaceholder()
Получает значение свойства placeholder.
Описание свойства:
Этот узел отображается пользователю, когда ComboBox не имеет содержимого для отображения. Узел-заполнитель отображается в области всплывающего списка ComboBox, когда список элементов равен null или пуст.
Возвращает:
значение свойства placeholder
С:
JavaFX 8.0
См. также:
  • setPlaceholder(Node)
  • placeholderProperty()

commitValue

public final void commitValue()
Если ComboBox является editable, вызов этого метода попытается подтвердить текущий текст и преобразовать его в value.
С:
9

cancelEdit

public final void cancelEdit()
Если ComboBox является editable, вызов этого метода попытается заменить текст редактора последним подтверждённым значением value.
С:
9

Отправить отчет об ошибке или предложить улучшение
Авторское право © 2008, 2025, Oracle и/или его аффилированные лица. Все права защищены.

© 2008, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from JavaFX API Documentation.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Java, JavaFX and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API