- java.lang.Object
-
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- javafx.scene.control.Control
-
- javafx.scene.control.Labeled
-
- javafx.scene.control.Cell<T>
-
- javafx.scene.control.IndexedCell<T>
-
- javafx.scene.control.ListCell<T>
-
- javafx.scene.control.cell.CheckBoxListCell<T>
-
- Тип параметров:
-
T- Тип элементов, содержащихся в ListView.
- Все реализуемые интерфейсы:
-
Styleable,EventTarget,Skinnable
public class CheckBoxListCell<T> extends ListCell<T>
Класс, содержащий реализациюListCell, которая отображает узелCheckBoxвнутри ячейки, необязательно с меткой, указывающей, что представляет собой этот флажок.CheckBoxListCell отображается с флагом CheckBox слева от
ListView, а текст, относящийся к элементу списка, занимает всё оставшееся горизонтальное пространство.Для создания экземпляра этого класса необходимо предоставить
Callback, который, получив объект типа T, вернётObservableValue<Boolean>, представляющий собой состояние выбора данного элемента. Это ObservableValue будет привязано двунаправленно (что означает, что CheckBox в ячейке будет устанавливать/снимать этот флажок в зависимости от взаимодействий пользователя, и CheckBox будет отражать состояниеObservableValue<Boolean>, если оно изменится внешним образом).Обратите внимание, что CheckBoxListCell отображает CheckBox «в режиме реального времени», что означает, что CheckBox всегда интерактивен и может быть переключаем пользователем напрямую. Это означает, что нет необходимости, чтобы ячейка вошла в состояние
editing state(обычно, путем двойного щелчка по ячейке). Побочным эффектом этого является то, что обычные обратные вызовы редактирования (например,on edit commit) не будут вызываться. Если вы хотите получать уведомления о изменениях, рекомендуется напрямую наблюдать за булевыми свойствами, которые манипулируются CheckBox.
-
Краткое описание свойств
Свойства Тип Свойство Описание ObjectProperty<StringConverter<T>>converterСвойствоStringConverter.ObjectProperty<Callback<T,ObservableValue<Boolean>>>selectedStateCallbackСвойство, представляющееCallback, к которому привязана галочка CheckBox на экране.-
Унаследованные свойства от класса javafx.scene.control.IndexedCell
index
-
Унаследованные свойства от класса javafx.scene.control.Cell
editable, editing, empty, item, selected
-
Унаследованные свойства от класса javafx.scene.control.Labeled
alignment, contentDisplay, ellipsisString, font, graphic, graphicTextGap, labelPadding, lineSpacing, mnemonicParsing, textAlignment, textFill, textOverrun, text, 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, 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
-
-
Краткое описание конструкторов
Конструкторы Конструктор Описание CheckBoxListCell()Создаёт ячейку CheckBoxListCell по умолчанию.CheckBoxListCell(Callback<T,ObservableValue<Boolean>> getSelectedProperty)Создаёт ячейку CheckBoxListCell по умолчанию.CheckBoxListCell(Callback<T,ObservableValue<Boolean>> getSelectedProperty, StringConverter<T> converter)Создаёт ячейку CheckBoxListCell со своим преобразователем строк.
-
Краткое описание методов
Все методыСтатические методыМетоды экземпляровКонкретные методы Модификатор и тип Метод Описание ObjectProperty<StringConverter<T>>converterProperty()СвойствоStringConverter.static <T> Callback<ListView<T>,ListCell<T>>forListView(Callback<T,ObservableValue<Boolean>> getSelectedProperty)Создаёт фабрику ячеек для использования в элементах управления ListView.static <T> Callback<ListView<T>,ListCell<T>>forListView(Callback<T,ObservableValue<Boolean>> getSelectedProperty, StringConverter<T> converter)Создаёт фабрику ячеек для использования в элементах управления ListView.StringConverter<T>getConverter()ВозвращаетStringConverter, используемый в этой ячейке.Callback<T,ObservableValue<Boolean>>getSelectedStateCallback()ВозвращаетCallback, к которому привязана галочка CheckBox на экране.ObjectProperty<Callback<T,ObservableValue<Boolean>>>selectedStateCallbackProperty()Свойство, представляющееCallback, к которому привязана галочка CheckBox на экране.voidsetConverter(StringConverter<T> value)УстанавливаетStringConverterдля использования в этой ячейке.voidsetSelectedStateCallback(Callback<T,ObservableValue<Boolean>> value)УстанавливаетCallback, к которому привязана галочка CheckBox на экране.voidupdateItem(T item, boolean empty)Метод updateItem не должен вызываться разработчиками, но это лучший метод для переопределения разработчиками, чтобы позволить им настроить визуальные элементы ячейки.-
Унаследованные методы от класса javafx.scene.control.ListCell
cancelEdit, commitEdit, createDefaultSkin, executeAccessibleAction, getListView, listViewProperty, queryAccessibleAttribute, startEdit, updateListView
-
Унаследованные методы от класса javafx.scene.control.IndexedCell
getIndex, indexProperty, updateIndex
-
Унаследованные методы от класса javafx.scene.control.Cell
editableProperty, editingProperty, emptyProperty, getInitialFocusTraversable, getItem, isEditable, isEditing, isEmpty, isItemChanged, isSelected, itemProperty, layoutChildren, selectedProperty, setEditable, setItem, 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, isUnderline, isWrapText, labelPaddingProperty, lineSpacingProperty, mnemonicParsingProperty, setAlignment, setContentDisplay, setEllipsisString, setFont, setGraphic, setGraphicTextGap, setLineSpacing, setMnemonicParsing, setText, setTextAlignment, setTextFill, setTextOverrun, setUnderline, setWrapText, textAlignmentProperty, textFillProperty, textOverrunProperty, textProperty, toString, underlineProperty, wrapTextProperty
-
Унаследованные методы от класса javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, getBaselineOffset, getContextMenu, getCssMetaData, getSkin, getTooltip, isResizable, 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, 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, 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.- Возвращает:
- свойство
StringConverter
-
selectedStateCallback
public final ObjectProperty<Callback<T,ObservableValue<Boolean>>> selectedStateCallbackProperty
Свойство, представляющееCallback, привязанный к флажку CheckBox, отображаемому на экране.
-
-
Подробности конструкторов
-
CheckBoxListCell
public CheckBoxListCell()
Создаёт ячейку CheckBoxListCell по умолчанию.
-
CheckBoxListCell
public CheckBoxListCell(Callback<T,ObservableValue<Boolean>> getSelectedProperty)
Создаёт ячейку CheckBoxListCell по умолчанию.- Параметры:
-
getSelectedProperty-Callback, возвращающийObservableValue<Boolean>для элемента из ListView.
-
CheckBoxListCell
public CheckBoxListCell(Callback<T,ObservableValue<Boolean>> getSelectedProperty, StringConverter<T> converter)
Создаёт ячейку CheckBoxListCell с настраиваемым преобразователем строк.- Параметры:
-
getSelectedProperty-Callback, возвращающийObservableValue<Boolean>для элемента из ListView. -
converter- StringConverter, преобразующий объект типа T в строку для визуального представления.
-
-
Подробности методов
-
forListView
public static <T> Callback<ListView<T>,ListCell<T>> forListView(Callback<T,ObservableValue<Boolean>> getSelectedProperty)
Создаёт фабрику ячеек для использования в элементах управления ListView. При использовании в ListView,CheckBoxListCellотображается с флажком CheckBox слева, а текст, относящийся к элементу списка, занимает всё оставшееся горизонтальное пространство.- Параметры типа:
-
T- Тип элементов, содержащихся в ListView. - Параметры:
-
getSelectedProperty-Callback, возвращающийObservableValue<Boolean>, указывающий, выбран ли данный элемент (из спискаListView<T>.items). Это ObservableValue будет двунаправленно привязано (значит, флажок CheckBox в ячейке будет устанавливать/снимать это свойство в зависимости от действий пользователя, и флажок будет отражать состояние ObservableValue, если оно изменится внешним образом). - Возвращает:
Callback, возвращающий ListCell, работающий с типом элементов списка ListView.
-
forListView
public static <T> Callback<ListView<T>,ListCell<T>> forListView(Callback<T,ObservableValue<Boolean>> getSelectedProperty, StringConverter<T> converter)
Создаёт фабрику ячеек для использования в элементах управления ListView. При использовании в ListView,CheckBoxListCellотображается с флажком CheckBox слева, а текст, относящийся к элементу списка, занимает всё оставшееся горизонтальное пространство.- Параметры типа:
-
T- Тип элементов, содержащихся в ListView. - Параметры:
-
getSelectedProperty-Callback, возвращающийObservableValue<Boolean>, указывающий, выбран ли данный элемент (из спискаListView<T>.items). Это ObservableValue будет двунаправленно привязано (значит, флажок CheckBox в ячейке будет устанавливать/снимать это свойство в зависимости от действий пользователя, и флажок будет отражать состояние ObservableValue, если оно изменится внешним образом). -
converter- StringConverter, преобразующий объект типа T в строку для визуального представления. - Возвращает:
Callback, возвращающий ListCell, работающий с типом элементов в ListView.
-
converterProperty
public final ObjectProperty<StringConverter<T>> converterProperty()
СвойствоStringConverter.- Возвращает:
- свойство
StringConverter
-
setConverter
public final void setConverter(StringConverter<T> value)
УстанавливаетStringConverterдля использования в этой ячейке.- Параметры:
-
value-StringConverter
-
getConverter
public final StringConverter<T> getConverter()
ВозвращаетStringConverter, используемый в этой ячейке.- Возвращает:
StringConverter, используемый в этой ячейке
-
selectedStateCallbackProperty
public final ObjectProperty<Callback<T,ObservableValue<Boolean>>> selectedStateCallbackProperty()
Свойство, представляющееCallback, привязанный к флажку CheckBox, отображаемому на экране.
-
setSelectedStateCallback
public final void setSelectedStateCallback(Callback<T,ObservableValue<Boolean>> value)
УстанавливаетCallback, привязанный к флажку CheckBox, отображаемому на экране.- Параметры:
-
value-Callback
-
getSelectedStateCallback
public final Callback<T,ObservableValue<Boolean>> getSelectedStateCallback()
ВозвращаетCallback, привязанный к флажку CheckBox, отображаемому на экране.- Возвращает:
Callback, привязанный к флажку CheckBox, отображаемому на экране
-
updateItem
public void updateItem(T item, boolean empty)
Метод updateItem не должен вызываться разработчиками, но он является лучшим методом для переопределения разработчиками для настройки визуального оформления ячейки. То есть, разработчики никогда не должны вызывать этот метод в своём коде (они должны оставить это UI-элементу, например, элементу управленияListView, вызывать этот метод). Однако, назначение метода updateItem заключается в том, чтобы разработчики, при указании пользовательских фабрик ячеек (опять же, например, для ListViewcell 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.