Spec-Zone.ru › OpenJavaFX 8
javafx.scene.control

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

Все реализованные интерфейсы:

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, но существуют важные моменты, которые следует понимать в контексте 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 просто вставляет узлы непосредственно в ячейку, включая и область «кнопки» ComboBox. Поскольку в дереве сцены узлы могут находиться только в одном месте, это означает, что при выборе элемента он удаляется из списка ComboBox и отображается в области кнопки. При изменении выбора ранее выбранный элемент возвращается в список, а новый выбор удаляется.

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

ComboBox<Rectangle> cmb = new ComboBox<Rectangle>();
 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<Color>();
 cmb.getItems().addAll(
     Color.RED,
     Color.GREEN,
     Color.BLUE);

 cmb.setCellFactory(new Callback<ListView<Color>, ListCell<Color>>() {
     @Override public ListCell<Color> call(ListView<Color> p) {
         return new ListCell<Color>() {
             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);
                 }
            }
       };
   }
});

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

С тех пор:

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, 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 по умолчанию и моделью выбора по умолчанию.
    ComboBox(ObservableList<T> items)
    Создает экземпляр ComboBox по умолчанию со списком предоставленных элементов и моделью выбора по умолчанию.
  • Краткое описание методов

    Все методыМетоды экземпляраКонкретные методы
    Модификатор и тип Метод и описание
    ObjectProperty<ListCell<T>> buttonCellProperty()
    Ячейка кнопки используется для отображения того, что показано в области 'кнопка' ComboBox.
    ObjectProperty<Callback<ListView<T>,ListCell<T>>> cellFactoryProperty()
    Настройка пользовательской фабрики ячеек позволяет полностью настроить отображение элементов в ComboBox.
    ObjectProperty<StringConverter<T>> converterProperty()
    Преобразует введенный пользователем текст (когда ComboBox является editable) в объект типа T, чтобы ввод можно было получить через свойство value.
    protected Skin<?> createDefaultSkin()
    Создает новый экземпляр стандартной темы для данного элемента управления.
    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 не имеет содержимого для отображения.
    Object queryAccessibleAttribute(AccessibleAttribute attribute, Object... parameters)
    * Обработка доступности * *
    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, executeAccessibleAction, 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, computePrefHeight, computePrefWidth, contextMenuProperty, getBaselineOffset, getClassCssMetaData, getContextMenu, getControlCssMetaData, getCssMetaData, getSkin, getTooltip, isResizable, layoutChildren, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
    • Методы, унаследованные от класса javafx.scene.layout.Region

      backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, 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, snapSize, snapSpace, snapToPixelProperty, widthProperty
    • Методы, унаследованные от класса javafx.scene.Parent

      getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, 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, fireEvent, focusedProperty, focusTraversableProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, 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, 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, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, relocate, removeEventFilter, removeEventHandler, requestFocus, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, visibleProperty
    • Методы, унаследованные от класса java.lang.Object

      clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Подробное описание свойств

    • items

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

      См. также:

      public ObjectProperty<Callback<ListView<T>,ListCell<T>>> cellFactoryProperty
      , setItems(ObservableList)

    • converter

      public ObjectProperty<StringConverter<T>> converterProperty
      Преобразует введенные пользователем данные (когда ComboBox редактируемый) в объект типа 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 не содержит отображаемого содержимого. Заполнитель отображается в области раскрывающегося списка ComboBox, когда список элементов равен null или пуст.

      С:

      JavaFX 8.0

      См. также:

      getPlaceholder(), setPlaceholder(Node)

  • Подробное описание конструкторов

    • ComboBox

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

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

    • 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 поддерживает только одиночный выбор.

    • selectionModelProperty

      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

    • createDefaultSkin

      protected Skin<?> createDefaultSkin()
      Создает новый экземпляр стандартной темы для данного элемента управления. Этот метод вызывается для создания темы элемента управления, если тема не предоставлена через CSS -fx-skin или не установлена явно в подклассе с setSkin(...).

      Переопределяет:

      createDefaultSkin в классе Control

      Возвращает:

      новый экземпляр стандартной темы для данного элемента управления. Если null, то у элемента управления не будет темы, если не будет предоставлена через css.

    • queryAccessibleAttribute

      public Object queryAccessibleAttribute(AccessibleAttribute attribute,
                                             Object... parameters)
      * Обработка доступности * *

      Переопределяет:

      queryAccessibleAttribute в классе ComboBoxBase<T>

      Параметры:

      attribute — запрашиваемый атрибут

      Возвращает:

      значение запрашиваемого атрибута

      См. также:

      AccessibleAttribute

© 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