Spec-Zone.ru › OpenJavaFX 21

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

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

  1. Свойство value не ограничено элементами, содержащимися в списке items — оно может быть любым значением, если это допустимое значение типа T.
  2. Если свойству value присвоено ненулевое значение, а затем список items очищен, свойство value не обнуляется.
  3. Очистка selection в модели выбора не обнуляет свойство value — оно остаётся прежним.
  4. Допустимо, чтобы модель выбора имела выбор, установленный по указанному индексу, даже если в списке нет элементов (или элементов меньше, чем заданный индекс). После заполнения списка элементами таким образом, что список содержит достаточно элементов, чтобы иметь элемент по заданному индексу, как модель выбора 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, предоставляется свойство 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

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

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

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

Модификатор и тип Метод Описание
ObjectProperty<ListCell<T>> buttonCellProperty()
Ячейка кнопки используется для отображения того, что показано в области 'кнопка' ComboBox.
final void cancelEdit()
Если ComboBox является editable, вызов этого метода попытается заменить текст редактора последним сохранённым value.
ObjectProperty<Callback<ListView<T>,ListCell<T>>> cellFactoryProperty()
Наличие пользовательской фабрики ячеек позволяет полностью настроить отображение элементов в ComboBox.
final void commitValue()
Если ComboBox является editable, вызов этого метода попытается сохранить текущий текст и преобразовать его в value.
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.
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, 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 ObjectProperty<ObservableList<T>> itemsProperty
Список элементов, которые нужно отобразить в раскрывающемся списке ComboBox.
См. также:
  • getItems()
  • setItems(ObservableList)
  • itemsProperty()

converter

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

cellFactory

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

buttonCell

public 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 ObjectProperty<ObservableList<T>> itemsProperty()
Список элементов, которые нужно отобразить в раскрывающемся списке ComboBox.
Возвращает:
свойство items
См. также:
  • 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.
Параметры:
value - значение для свойства converter
См. также:
  • getConverter()
  • converterProperty()

getConverter

public final StringConverter<T> getConverter()
Возвращает значение свойства converter.
Описание свойства:
Преобразует введенный пользователем текст (когда ComboBox является editable) в объект типа 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()
END_OF_DOCUMENT_MARKER

cellFactoryProperty

public ObjectProperty<Callback<ListView<T>,ListCell<T>>> cellFactoryProperty()
Предоставление пользовательской фабрики ячеек позволяет полностью настроить отображение элементов в ComboBox. Обратитесь к Cell javadoc для получения дополнительной информации о фабриках ячеек.
Возвращает:
свойство cellFactory
См. также:
  • 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.
Параметры:
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 не имеет отображаемого содержимого. Заполнитель отображается в области всплывающего списка ComboBox, когда список элементов равен null или пуст.
Возвращает:
свойство заполнителя
С:
JavaFX 8.0
См. также:
  • getPlaceholder()
  • setPlaceholder(Node)

setPlaceholder

public final void setPlaceholder(Node value)
Устанавливает значение свойства placeholder.
Описание свойства:
Этот узел отображается пользователю, когда ComboBox не имеет отображаемого содержимого. Заполнитель отображается в области всплывающего списка 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 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