Spec-Zone.ru › OpenJavaFX 11
Модуль javafx.controls
Пакет 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>
  • Параметры типа:
    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, для преобразования строки пользователя в объект типа T, чтобы свойство value могло его содержать, предоставляется свойство string converter. По умолчанию преобразователь просто возвращает введённую пользователем строку, предполагая, что тип редактируемого ComboBox — String. Если указан другой тип и ComboBox должен быть редактируемым, необходимо указать пользовательский StringConverter.

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

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

    Рекомендуемый подход вместо вставки экземпляров узлов в список элементов — поместить соответствующую информацию в 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, 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.
    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, getInitialFocusTraversable, 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, snapPositionX, snapPositionY, snapSize, snapSizeX, snapSizeY, snapSpace, snapSpaceX, snapSpaceY, 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, 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, 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, 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)
    • 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 по умолчанию.
      Параметры:
      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 поддерживает только одиночный выбор.
    • 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(...).
      Overrides:
      createDefaultSkin в классе Control
      Возвращает:
      новый экземпляр стандартной темы для данного элемента управления. Если null, значит у элемента управления нет темы, если она не задана в CSS.
    • commitValue

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

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

      public Object queryAccessibleAttribute​(AccessibleAttribute attribute,
                                             Object... parameters)
      Этот метод вызывается технологией вспомогательных средств для запроса значения атрибута.

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

      Overrides:
      queryAccessibleAttribute в классе ComboBoxBase<T>
      Параметры:
      attribute - запрашиваемый атрибут
      parameters - необязательный список параметров
      Возвращает:
      значение запрашиваемого атрибута
      См. также:
      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