Spec-Zone.ru › OpenJavaFX 17

Класс 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.

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

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

  1. Свойство value не ограничено элементами в списке items – оно может содержать любые значения, являющиеся допустимыми значениями типа T.
  2. Если свойству value присвоено ненулевое значение, а затем список items очищен, значение свойства value не обнуляется.
  3. Очистка selection в модели выбора не обнуляет свойство value – оно сохраняет предыдущее значение.
  4. Модель выбора может иметь выделенный элемент по заданному индексу, даже если список items пустой (или содержит меньше элементов, чем заданный индекс). После добавления в список элементов, достаточных для наличия элемента по заданному индексу, как модель выбора SelectionModel.selectedItemProperty(), так и свойство value обновятся, отражая это значение. Это отличается от других элементов управления, использующих модель выбора, но сделано намеренно для 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, для преобразования введённой пользователем строки в объект типа T, чтобы свойство value могло его содержать, предоставляется свойство string converter. По умолчанию преобразователь просто возвращает строку, введённую пользователем, что предполагает тип ComboBox – String. Если требуется другой тип и ComboBox должен быть редактируемым, необходимо указать пользовательский StringConverter.

Предупреждение об вставке узлов в список элементов ComboBox

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

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

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

Следует сделать следующее:

 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);
             }
         }
     };
 });
Image of the ComboBox control

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

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

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

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

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

Модификатор и тип Метод Описание
ObjectProperty<ListCell<T>> buttonCellProperty()
Ячейка кнопки используется для отображения содержимого области 'кнопка' в ComboBox.
void cancelEdit()
Если ComboBox является editable, вызов этого метода попытается заменить текст редактора последней сохраненной value.
ObjectProperty<Callback<ListView<T>,​ListCell<T>>> cellFactoryProperty()
Использование пользовательской фабрики ячеек позволяет полностью настроить отображение элементов в ComboBox.
void commitValue()
Если ComboBox является editable, вызов этого метода попытается сохранить текущий текст и преобразовать его в value.
ObjectProperty<StringConverter<T>> converterProperty()
Преобразует введенный пользователем текст (когда ComboBox является editable) в объект типа T таким образом, чтобы ввод можно было получить через свойство value.
ReadOnlyObjectProperty<TextField> editorProperty()
Редактор для ComboBox.
ListCell<T> getButtonCell()
Получает значение свойства buttonCell.
Callback<ListView<T>,​ListCell<T>> getCellFactory()
Получает значение свойства cellFactory.
StringConverter<T> getConverter()
Получает значение свойства converter.
TextField getEditor()
Получает значение свойства editor.
ObservableList<T> getItems()
Получает значение свойства items.
Node getPlaceholder()
Получает значение свойства placeholder.
SingleSelectionModel<T> getSelectionModel()
Получает значение свойства selectionModel.
int getVisibleRowCount()
Получает значение свойства visibleRowCount.
ObjectProperty<ObservableList<T>> itemsProperty()
Список элементов для отображения в всплывающем окне ComboBox.
ObjectProperty<Node> placeholderProperty()
Этот узел отображается пользователю, когда в ComboBox нет данных для отображения.
ObjectProperty<SingleSelectionModel<T>> selectionModelProperty()
Модель выделения для ComboBox.
void setButtonCell​(ListCell<T> value)
Устанавливает значение свойства buttonCell.
void setCellFactory​(Callback<ListView<T>,​ListCell<T>> value)
Устанавливает значение свойства cellFactory.
void setConverter​(StringConverter<T> value)
Устанавливает значение свойства converter.
void setItems​(ObservableList<T> value)
Устанавливает значение свойства items.
void setPlaceholder​(Node value)
Устанавливает значение свойства placeholder.
void setSelectionModel​(SingleSelectionModel<T> value)
Устанавливает значение свойства selectionModel.
void setVisibleRowCount​(int value)
Устанавливает значение свойства visibleRowCount.
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, getTooltip, isResizable, setContextMenu, 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, 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, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, 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, 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.scene.control.Skinnable

getSkin, setSkin

Методы, объявленные в интерфейсе javafx.css.Styleable

getStyleableNode, getStyleClass

Свойства

items

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

converter

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

cellFactory

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

buttonCell

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

selectionModel

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

visibleRowCount

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

editor

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

placeholder

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

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

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.

getItems

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

itemsProperty

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

converterProperty

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

setConverter

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

getConverter

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

setCellFactory

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

getCellFactory

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

cellFactoryProperty

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

buttonCellProperty

public 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.
С:
JavaFX 2.2

getButtonCell

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

setSelectionModel

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

getSelectionModel

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

Модель выбора

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

setVisibleRowCount

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

getVisibleRowCount

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

visibleRowCountProperty

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

getEditor

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

editorProperty

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

placeholderProperty

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

setPlaceholder

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

getPlaceholder

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

commitValue

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

cancelEdit

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

© 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