Класс 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.
- С:
- JavaFX 2.2
- См. также:
Краткое описание свойств
| Тип | Свойство | Описание |
|---|---|---|
final ObjectProperty |
converter |
Свойство StringConverter. |
final ObjectProperty |
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, 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
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
CheckBoxListCell() |
Создает стандартный CheckBoxListCell. |
CheckBoxListCell |
Создает стандартный CheckBoxListCell. |
CheckBoxListCell |
Создает CheckBoxListCell с пользовательским преобразователем строк. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
final ObjectProperty |
converterProperty() |
Свойство StringConverter. |
static <T> Callback |
forListView |
Создает фабрику ячеек для использования в элементах управления ListView. |
static <T> Callback |
forListView |
Создает фабрику ячеек для использования в элементах управления ListView. |
final StringConverter |
getConverter() |
Возвращает StringConverter, используемый в этой ячейке. |
final Callback |
getSelectedStateCallback() |
Возвращает Callback, к которому привязана отображаемая на экране метка CheckBox. |
final ObjectProperty |
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, 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.- См. также:
selectedStateCallback
public final ObjectProperty<Callback<T,ObservableValue<Boolean>>> selectedStateCallbackProperty
Callback, привязанный к чекбоксу, отображаемому на экране.- См. также:
Подробности конструкторов
CheckBoxListCell
public CheckBoxListCell()
CheckBoxListCell
public CheckBoxListCell(Callback<T,ObservableValue<Boolean>> getSelectedProperty)
- Параметры:
-
getSelectedProperty-Callback, который вернётObservableValue<Boolean>для элемента из ListView.
CheckBoxListCell
public CheckBoxListCell(Callback<T,ObservableValue<Boolean>> getSelectedProperty, StringConverter<T> converter)
- Параметры:
-
getSelectedProperty-Callback, который вернётObservableValue<Boolean>для элемента из ListView. -
converter- Конвертер строк, который преобразует объект типа T в строку для визуального представления.
Подробности методов
forListView
public static <T> Callback<ListView<T>,ListCell<T>> forListView(Callback<T,ObservableValue<Boolean>> getSelectedProperty)
CheckBoxListCell отображается с чекбоксом слева, а текст элемента списка занимает всё оставшееся горизонтальное пространство.- Параметры типа:
-
T- Тип элементов в ListView. - Параметры:
-
getSelectedProperty-Callback, который, получив объект типа T (значение из спискаListView<T>.items), вернётObservableValue<Boolean>, определяющее, выбран ли данный элемент. ObservableValue будет связана двунаправленно (значения чекбокса в ячейке будут устанавливаться/сбрасываться на основе взаимодействий пользователя, и чекбокс будет отражать состояние ObservableValue, если оно изменится внешне). - Возвращает:
Callback, возвращающий ListCell, работающий с типом элементов в списке ListView.
forListView
public static <T> Callback<ListView<T>,ListCell<T>> forListView(Callback<T,ObservableValue<Boolean>> getSelectedProperty, StringConverter<T> converter)
CheckBoxListCell отображается с чекбоксом слева, а текст элемента списка занимает всё оставшееся горизонтальное пространство.- Параметры типа:
-
T- Тип элементов в ListView. - Параметры:
-
getSelectedProperty-Callback, который, получив объект типа T (значение из спискаListView<T>.items), вернётObservableValue<Boolean>, определяющее, выбран ли данный элемент. ObservableValue будет связана двунаправленно (значения чекбокса в ячейке будут устанавливаться/сбрасываться на основе взаимодействий пользователя, и чекбокс будет отражать состояние ObservableValue, если оно изменится внешне). -
converter- Конвертер строк, преобразующий объект типа 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
setSelectedStateCallback
getSelectedStateCallback
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.