Класс 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.
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
final ObjectProperty<StringConverter<T>> |
converter |
Свойство StringConverter. |
final ObjectProperty<Callback<T, |
selectedStateCallback |
Свойство, представляющее Callback, к которому привязана видимая на экране галочка CheckBox. |
Свойства, объявленные в классе javafx.scene.control.IndexedCell
index
Свойства, объявленные в классе 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, 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
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
CheckBoxListCell() |
Создаёт стандартный CheckBoxListCell. |
CheckBoxListCell |
Создаёт стандартный CheckBoxListCell. |
CheckBoxListCell |
Создаёт CheckBoxListCell с пользовательским конвертером строк. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final ObjectProperty<StringConverter<T>> |
converterProperty() |
Свойство StringConverter. |
static <T> Callback<ListView<T>, |
forListView |
Создаёт фабрику ячеек для использования в контролах ListView. |
static <T> Callback<ListView<T>, |
forListView |
Создаёт фабрику ячеек для использования в контролах ListView. |
final StringConverter<T> |
getConverter() |
Возвращает StringConverter, используемый в этой ячейке. |
final Callback<T, |
getSelectedStateCallback() |
Возвращает Callback, к которому привязана видимая на экране галочка CheckBox. |
final ObjectProperty<Callback<T, |
selectedStateCallbackProperty() |
Свойство, представляющее Callback, к которому привязана видимая на экране галочка CheckBox. |
final void |
setConverter |
Устанавливает StringConverter для использования в этой ячейке. |
final void |
setSelectedStateCallback |
Устанавливает Callback, к которому привязана видимая на экране галочка CheckBox. |
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, isUnderline, isWrapText, labelPaddingProperty, lineSpacingProperty, mnemonicParsingProperty, setAlignment, setContentDisplay, setEllipsisString, setFont, setGraphic, setGraphicTextGap, setLineSpacing, setMnemonicParsing, setText, setTextAlignment, setTextFill, setTextOverrun, setUnderline, setWrapText, textAlignmentProperty, textFillProperty, textOverrunProperty, textProperty, 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, 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.selectedStateCallback
public final ObjectProperty<Callback<T,ObservableValue<Boolean>>> selectedStateCallbackProperty
Callback, привязанный к флажку CheckBox, отображаемому на экране.Подробное описание конструкторов
CheckBoxListCell
public CheckBoxListCell()
CheckBoxListCell
public CheckBoxListCell(Callback<T,ObservableValue<Boolean>> getSelectedProperty)
- Параметры:
-
getSelectedProperty- ACallback, возвращающийObservableValue<Boolean>для элемента списка ListView.
CheckBoxListCell
public CheckBoxListCell(Callback<T,ObservableValue<Boolean>> getSelectedProperty, StringConverter<T> converter)
- Параметры:
-
getSelectedProperty- ACallback, возвращающийObservableValue<Boolean>для элемента списка ListView. -
converter- Преобразователь строк, который для объекта типа T возвращает строку, используемую для визуального представления объекта.
Подробное описание методов
forListView
public static <T> Callback<ListView<T>,ListCell<T>> forListView(Callback<T,ObservableValue<Boolean>> getSelectedProperty)
CheckBoxListCell отображается с флажком CheckBox слева, а текст, связанный с элементом списка, занимает всё оставшееся горизонтальное пространство.- Параметры типа:
-
T- Тип элементов, содержащихся в ListView. - Параметры:
-
getSelectedProperty- ACallback, возвращающийObservableValue<Boolean>, указывающий, выбран ли данный элемент. Это ObservableValue будет привязано двунаправленно (что означает, что CheckBox в ячейке будет устанавливать/снимать этот признак на основе взаимодействий пользователя, а CheckBox будет отражать состояние ObservableValue, если оно изменится внешним образом). - Возвращает:
- A
Callbackвозвращающий ListCell, который может работать с типом элемента, содержащегося в списке элементов ListView.
forListView
public static <T> Callback<ListView<T>,ListCell<T>> forListView(Callback<T,ObservableValue<Boolean>> getSelectedProperty, StringConverter<T> converter)
CheckBoxListCell отображается с флажком CheckBox слева, а текст, связанный с элементом списка, занимает всё оставшееся горизонтальное пространство.- Параметры типа:
-
T- Тип элементов, содержащихся в ListView. - Параметры:
-
getSelectedProperty- ACallback, возвращающийObservableValue<Boolean>, указывающий, выбран ли данный элемент. Это ObservableValue будет привязано двунаправленно (что означает, что CheckBox в ячейке будет устанавливать/снимать этот признак на основе взаимодействий пользователя, а CheckBox будет отражать состояние ObservableValue, если оно изменится внешним образом). -
converter- Преобразователь строк, который, для объекта типа T, возвращает строку, используемую для визуального представления объекта. - Возвращает:
- A
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, отображаемому на экране.- Возвращает:
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)
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. Если этого не сделать, почти гарантированно, что конечные пользователи увидят графические артефакты в ячейках неожиданно.
- Overrides:
-
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.