Класс ComboBoxListCell<T>
- Тип параметров:
-
T- Тип элементов, содержащихся в ListView.
- Все реализуемые интерфейсы:
-
Styleable,EventTarget,Skinnable
public class ComboBoxListCell<T> extends ListCell<T>
ListCell, которая отображает узел ComboBox внутри ячейки. По умолчанию, ComboBoxListCell отображается как Label при отсутствии редактирования и как ComboBox в режиме редактирования. ComboBox по умолчанию будет растягиваться, чтобы заполнить всю ячейку списка.
Для создания ComboBoxListCell необходимо предоставить ноль или более элементов, которые будут отображаться пользователю при отображении меню ComboBox. Эти элементы должны быть того же типа, что и последовательность элементов ListView, таким образом, при выборе они заменяют существующее значение в списке items.
- С тех пор:
- JavaFX 2.2
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
final BooleanProperty |
comboBoxEditable |
Свойство, определяющее, является ли ComboBox редактируемым при отображении пользователю. |
final ObjectProperty |
converter |
Свойство StringConverter. |
Свойства, объявленные в классе javafx.scene.control.IndexedCell
index
Свойства, объявленные в классе javafx.scene.control.Labeled
alignment, contentDisplay, ellipsisString, font, graphic, graphicTextGap, labelPadding, lineSpacing, mnemonicParsing, textAlignment, textFill, textOverrun, text, textTruncated, underline, wrapText
Свойства, объявленные в классе 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.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
Поля, объявленные в классе javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
ComboBoxListCell() |
Создаёт стандартный ComboBoxListCell со списком элементов по умолчанию. |
ComboBoxListCell |
Создаёт экземпляр ComboBoxListCell по умолчанию, используя указанные элементы для заполнения ComboBox при его отображении. |
ComboBoxListCell |
Создаёт экземпляр ComboBoxListCell, используя указанные элементы для заполнения ComboBox при его отображении, и StringConverter для преобразования элемента в удобочитаемую форму. |
ComboBoxListCell |
Создаёт экземпляр ComboBoxListCell, используя указанные элементы для заполнения ComboBox при его отображении, и StringConverter для преобразования элемента в удобочитаемую форму. |
ComboBoxListCell |
Создаёт стандартный экземпляр ComboBoxListCell, используя указанные элементы для заполнения ComboBox при его отображении. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final BooleanProperty |
comboBoxEditableProperty() |
Свойство, определяющее, является ли ComboBox редактируемым при отображении пользователю. |
final ObjectProperty |
converterProperty() |
Свойство StringConverter. |
static <T> Callback |
forListView |
Создаёт фабрику ячеек ComboBox для использования в элементах управления ListView. |
static <T> Callback |
forListView |
Создаёт фабрику ячеек ComboBox для использования в элементах управления ListView. |
static <T> Callback |
forListView |
Создаёт фабрику ячеек ComboBox для использования в элементах управления ListView. |
static <T> Callback |
forListView |
Создаёт фабрику ячеек ComboBox для использования в элементах управления ListView. |
final StringConverter |
getConverter() |
Возвращает StringConverter, используемый в этой ячейке. |
ObservableList |
getItems() |
Возвращает элементы, отображаемые в раскрывающемся списке ChoiceBox. |
final boolean |
isComboBoxEditable() |
Возвращает true, если ComboBox редактируемый. |
final void |
setComboBoxEditable |
Настраивает ComboBox для редактирования (разрешает ввод пользователем данных вне списка опций раскрывающегося списка). |
final void |
setConverter |
Устанавливает StringConverter для использования в этой ячейке. |
void |
updateItem |
Метод updateItem не должен вызываться разработчиками, но это лучший метод для переопределения разработчиками, чтобы они могли настроить визуальное представление ячейки. |
Методы, объявленные в классе javafx.scene.control.ListCell
getListView, listViewProperty, updateListView
Методы, объявленные в классе javafx.scene.control.IndexedCell
getIndex, indexProperty, updateIndex
Методы, объявленные в классе javafx.scene.control.Cell
cancelEdit, commitEdit, editableProperty, editingProperty, emptyProperty, getInitialFocusTraversable, getItem, isEditable, isEditing, isEmpty, isItemChanged, isSelected, itemProperty, selectedProperty, setEditable, setItem, startEdit, updateSelected
Методы, объявленные в классе javafx.scene.control.Labeled
alignmentProperty, contentDisplayProperty, ellipsisStringProperty, fontProperty, getAlignment, getClassCssMetaData, getContentBias, getContentDisplay, getControlCssMetaData, getEllipsisString, getFont, getGraphic, getGraphicTextGap, getInitialAlignment, getLabelPadding, getLineSpacing, getText, getTextAlignment, getTextFill, getTextOverrun, graphicProperty, graphicTextGapProperty, isMnemonicParsing, isTextTruncated, isUnderline, isWrapText, labelPaddingProperty, lineSpacingProperty, mnemonicParsingProperty, setAlignment, setContentDisplay, setEllipsisString, setFont, setGraphic, setGraphicTextGap, setLineSpacing, setMnemonicParsing, setText, setTextAlignment, setTextFill, setTextOverrun, setUnderline, setWrapText, textAlignmentProperty, textFillProperty, textOverrunProperty, textProperty, textTruncatedProperty, underlineProperty, wrapTextProperty
Методы, объявленные в классе javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, contextMenuProperty, createDefaultSkin, getContextMenu, getCssMetaData, 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, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isFocusVisible, isFocusWithin, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookup, lookupAll, managedProperty, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, pressedProperty, pseudoClassStateChanged, queryAccessibleAttribute, relocate, removeEventFilter, removeEventHandler, requestFocus, requestFocusTraversal, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, toString, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Методы, объявленные в интерфейсе javafx.css.Styleable
getStyleableNode
Подробности свойства
converter
public final ObjectProperty<StringConverter<T>> converterProperty
StringConverter.- См. также:
comboBoxEditable
public final BooleanProperty comboBoxEditableProperty
- См. также:
Подробности конструктора
ComboBoxListCell
public ComboBoxListCell()
ComboBoxListCell
@SafeVarargs public ComboBoxListCell(T... items)
ComboBoxListCell с заданными элементами для заполнения ComboBox при отображении.- Параметры:
-
items- Элементы для отображения в всплывающем меню ComboBox при выборе пользователем.
ComboBoxListCell
@SafeVarargs public ComboBoxListCell(StringConverter<T> converter, T... items)
ComboBoxListCell с заданными элементами для заполнения ComboBox при отображении и StringConverter для преобразования элемента в читаемую форму.- Параметры:
-
converter-StringConverter, преобразующий элемент типа T в удобочитаемую строку для отображения в всплывающем меню ComboBox. -
items- Элементы для отображения в всплывающем меню ComboBox при выборе пользователем.
ComboBoxListCell
public ComboBoxListCell(ObservableList<T> items)
ComboBoxListCell с заданными элементами для заполнения ComboBox при отображении.- Параметры:
-
items- Элементы для отображения в всплывающем меню ComboBox при выборе пользователем.
ComboBoxListCell
public ComboBoxListCell(StringConverter<T> converter, ObservableList<T> items)
ComboBoxListCell с заданными элементами для заполнения ComboBox при отображении и StringConverter для преобразования элемента в удобочитаемый вид.- Параметры:
-
converter-StringConverter, преобразующий элемент типа T в удобочитаемую строку для отображения во всплывающем меню ComboBox. -
items- Элементы для отображения в всплывающем меню ComboBox при выборе пользователем.
Подробности методов
forListView
@SafeVarargs public static <T> Callback<ListView<T>,ListCell<T>> forListView(T... items)
ListView. По умолчанию ComboBoxCell отображается как Label при отсутствии редактирования и как ComboBox в режиме редактирования. ComboBox по умолчанию растягивается для заполнения всей ячейки списка.- Тип параметров:
-
T- Тип элементов, содержащихся в ListView. - Параметры:
-
items- Ноль или более элементов, которые будут отображаться пользователю при отображении менюComboBox. Эти элементы должны быть того же типа, что и элементы списка ListView, чтобы при выборе они заменяли текущее значение в спискеitems. - Возвращает:
Callback, возвращающий ListCell, способный работать с типом элементов, содержащихся в ListView.
forListView
@SafeVarargs public static <T> Callback<ListView<T>,ListCell<T>> forListView(StringConverter<T> converter, T... items)
ListView. По умолчанию ComboBoxCell отображается как Label при отсутствии редактирования и как ComboBox в режиме редактирования. ComboBox по умолчанию растягивается для заполнения всей ячейки списка.- Тип параметров:
-
T- Тип элементов, содержащихся в ListView. - Параметры:
-
converter-StringConverterдля преобразования данного элемента (типа T) в строку для отображения пользователю. -
items- Ноль или более элементов, которые будут отображаться пользователю при отображении менюComboBox. Эти элементы должны быть того же типа, что и элементы списка ListView, чтобы при выборе они заменяли текущее значение в спискеitems. - Возвращает:
Callback, возвращающий ListCell, способный работать с типом элементов, содержащихся в ListView.
forListView
public static <T> Callback<ListView<T>,ListCell<T>> forListView(ObservableList<T> items)
ListView. По умолчанию ComboBoxCell отображается как Label при отсутствии редактирования и как ComboBox в режиме редактирования. ComboBox по умолчанию растягивается для заполнения всей ячейки списка.- Тип параметров:
-
T- Тип элементов, содержащихся в ListView. - Параметры:
-
items-ObservableListсодержащий ноль или более элементов, которые будут отображаться пользователю при отображении менюComboBox. Эти элементы должны быть того же типа, что и последовательность элементов ListView, чтобы при выборе они заменяли текущее значение в спискеitems. - Возвращает:
Callback, возвращающий ListCell, способный работать с типом элементов, содержащихся в ListView.
дляListView
public static <T> Callback<ListView<T>,ListCell<T>> forListView(StringConverter<T> converter, ObservableList<T> items)
ListView. По умолчанию, ячейка ComboBox отображается как Label при отсутствии редактирования и как ComboBox при редактировании. ComboBox по умолчанию будет растягиваться для заполнения всей ячейки списка.- Тип параметров:
-
T- тип элементов, содержащихся в ListView. - Параметры:
-
converter-StringConverterдля преобразования данного элемента (типа T) в строку для отображения пользователю. -
items-ObservableListсодержащий ноль или более элементов, которые будут показаны пользователю, когда менюComboBoxотображается. Эти элементы должны быть того же типа, что и последовательность элементов ListView, таким образом, при выборе они заменяют существующее значение в спискеitems. - Возвращает:
Callbackвозвращающий ListCell, который может работать с типом элементов, содержащихся в ListView.
свойствоКонвертера
public final ObjectProperty<StringConverter<T>> converterProperty()
StringConverter.- Возвращает:
- свойство
StringConverter - См. также:
установитьКонвертер
public final void setConverter(StringConverter<T> value)
StringConverter для использования в этой ячейке.- Параметры:
-
value-StringConverterдля использования в этой ячейке
получитьКонвертер
public final StringConverter<T> getConverter()
StringConverter, используемый в этой ячейке.- Возвращает:
- используемый
StringConverterв этой ячейке
свойствоРедактируемостиComboBox
public final BooleanProperty comboBoxEditableProperty()
- Возвращает:
- свойство, представляющее возможность редактирования ComboBox при его отображении пользователю
- См. также:
установитьРедактируемостьComboBox
public final void setComboBoxEditable(boolean value)
- Параметры:
-
value- значение редактируемости для данного ComboBox
являетсяЛиComboBoxРедактируемым
public final boolean isComboBoxEditable()
- Возвращает:
- true, если ComboBox редактируется
получитьЭлементы
public ObservableList<T> getItems()
- Возвращает:
- элементы, которые должны отображаться в ChoiceBox при её отображении
обновитьЭлемент
public void updateItem(T item, boolean empty)
ListView, вызывать этот метод). Однако, цель метода updateItem заключается в том, чтобы разработчики, при указании пользовательских фабрик ячеек (опять же, как ListView cell factory), могли переопределить метод updateItem, чтобы позволить полную настройку ячейки. Очень важно, чтобы подклассы Cell правильно переопределяли метод updateItem, так как отсутствие этого приведёт к проблемам, таким как пустые ячейки или ячейки с неожиданным содержанием.
protected void updateItem(T item, boolean empty) {
super.updateItem(item, empty);
if (empty || item == null) {
setText(null);
setGraphic(null);
} else {
setText(item.toString());
}
}
Обратите внимание на два важных момента в этом образце кода:
- Мы вызываем метод super.updateItem(T, boolean). Если этого не сделать, свойства item и empty не будут правильно установлены, и, вероятно, у вас возникнут графические проблемы.
- Мы проверяем условие
empty, и если оно выполняется, мы устанавливаем свойства text и graphic в null. Если этого не сделать, практически гарантированно, что конечные пользователи увидят графические артефакты в ячейках неожиданно.
- Переопределяет:
-
updateItemв классеCell<T> - Параметры:
-
item- новый элемент для ячейки. -
empty- является ли эта ячейка данными из списка. Если она пуста, то она не представляет никаких данных, а используется для отображения "пустой" строки.
© 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.