Spec-Zone.ru › OpenJavaFX 11
Модуль javafx.controls
Пакет javafx.scene.control.cell

Класс CheckBoxTreeCell<T>

  • 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.TreeCell<T>
                    • javafx.scene.control.cell.CheckBoxTreeCell<T>
    • Тип параметров:
      T - Тип элементов, содержащихся в экземплярах TreeItem TreeView.
      Все реализуемые интерфейсы:
      Styleable, EventTarget, Skinnable
      public class CheckBoxTreeCell<T>
      extends TreeCell<T>
      Класс, содержащий реализацию TreeCell, который отображает узел CheckBox внутри ячейки, а также поддержку общих взаимодействий (подробно обсуждаются ниже).

      Для упрощения создания TreeView с флажками, предоставляется вспомогательный класс CheckBoxTreeItem. Сильно рекомендуется, чтобы разработчики использовали этот класс, а не обычный класс TreeItem, при построении структур дерева TreeView. Обратитесь к документации API CheckBoxTreeItem для примера того, как эти два класса могут быть объединены.

      При использовании в TreeView ячейка CheckBox отображается с CheckBox справа от узла раскрытия (т.е. стрелки). Элемент, хранящийся в TreeItem.getValue(), затем будет обработан StringConverter, и этот текст займёт всё оставшееся горизонтальное пространство. Кроме того, используя CheckBoxTreeItem, TreeView будет автоматически обрабатывать такие ситуации, как:

      • Нажатие на CheckBox рядом с элементом, имеющим дочерние элементы, приведёт к тому, что все дочерние элементы также будут выбраны/отменены.
      • Нажатие на CheckBox рядом с элементом, имеющим родителя, возможно, переключит состояние родителя. Например, если вы выберете один дочерний элемент, родитель станет неопределённым (указывающим на частичный выбор дочерних элементов). Если вы продолжите выбирать все дочерние элементы, родитель также отобразит, что он тоже выбран. Это рекурсивно, со всеми родительскими узлами, обновляющимися как ожидается.
      Если использование CheckBoxTreeItem нежелательно, то необходимо вызвать один из конструкторов, где указан Callback, который может вернуть ObservableValue<Boolean> для экземпляра TreeItem. Это ObservableValue<Boolean> должно представлять логическое состояние данного TreeItem.

      Обратите внимание, что CheckBoxTreeCell отображает CheckBox «в реальном времени», что означает, что CheckBox всегда интерактивен и может быть непосредственно переключен пользователем. Это означает, что ячейка не обязана входить в своё состояние редактирования editing state (обычно пользователем двойным щелчком по ячейке). Побочным эффектом этого является то, что обычные обратные вызовы редактирования (например, on edit commit) не будут вызываться. Если вам нужно уведомление о изменениях, рекомендуется напрямую наблюдать за логическими свойствами, которые манипулируются CheckBox.

      С:
      JavaFX 2.2
  • Краткое описание свойств

    Свойства
    Тип Свойство Описание
    ObjectProperty<StringConverter<TreeItem<T>>> converter
    Свойство StringConverter.
    ObjectProperty<Callback<TreeItem<T>,​ObservableValue<Boolean>>> selectedStateCallback
    Свойство, представляющее Callback, к которому привязана видимая на экране галочка CheckBox.
    • Свойства, унаследованные от класса javafx.scene.control.TreeCell

      disclosureNode, treeItem, treeView
    • Свойства, унаследованные от класса 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
  • Краткое описание конструкторов

    Конструкторы
    Конструктор Описание
    CheckBoxTreeCell()
    Создаёт стандартный CheckBoxTreeCell, предполагая, что TreeView создан с использованием экземпляров CheckBoxTreeItem, а не стандартных TreeItem.
    CheckBoxTreeCell​(Callback<TreeItem<T>,​ObservableValue<Boolean>> getSelectedProperty)
    Создаёт CheckBoxTreeCell для использования в контроле TreeView с помощью фабрики ячеек.
    CheckBoxTreeCell​(Callback<TreeItem<T>,​ObservableValue<Boolean>> getSelectedProperty, StringConverter<TreeItem<T>> converter)
    Создаёт CheckBoxTreeCell для использования в контроле TreeView с помощью фабрики ячеек.
  • Краткое описание методов

    Все методыСтатические методыМетодыКонкретные методы
    Модификатор и тип Метод Описание
    ObjectProperty<StringConverter<TreeItem<T>>> converterProperty()
    Свойство StringConverter.
    static <T> Callback<TreeView<T>,​TreeCell<T>> forTreeView()
    Создаёт фабрику ячеек для использования в контроле TreeView, хотя существуют важные предположения при её использовании в TreeView: эта фабрика ячеек предполагает, что корень TreeView и все дочерние элементы являются экземплярами CheckBoxTreeItem, а не стандартного класса TreeItem, который обычно используется.
    static <T> Callback<TreeView<T>,​TreeCell<T>> forTreeView​(Callback<TreeItem<T>,​ObservableValue<Boolean>> getSelectedProperty)
    Создаёт фабрику ячеек для использования в контроле TreeView.
    static <T> Callback<TreeView<T>,​TreeCell<T>> forTreeView​(Callback<TreeItem<T>,​ObservableValue<Boolean>> getSelectedProperty, StringConverter<TreeItem<T>> converter)
    Создаёт фабрику ячеек для использования в контроле TreeView.
    StringConverter<TreeItem<T>> getConverter()
    Возвращает StringConverter, используемый в этой ячейке.
    Callback<TreeItem<T>,​ObservableValue<Boolean>> getSelectedStateCallback()
    Возвращает Callback, к которому привязана видимая на экране галочка CheckBox.
    ObjectProperty<Callback<TreeItem<T>,​ObservableValue<Boolean>>> selectedStateCallbackProperty()
    Свойство, представляющее Callback, к которому привязана видимая на экране галочка CheckBox.
    void setConverter​(StringConverter<TreeItem<T>> value)
    Устанавливает StringConverter, который будет использоваться в этой ячейке.
    void setSelectedStateCallback​(Callback<TreeItem<T>,​ObservableValue<Boolean>> value)
    Устанавливает Callback, к которому привязана видимая на экране галочка CheckBox.
    void updateItem​(T item, boolean empty)
    Метод updateItem не должен вызываться разработчиками, но это лучший метод для переопределения, чтобы позволить настраивать визуальные элементы ячейки.
    • Методы, унаследованные от класса javafx.scene.control.TreeCell

      cancelEdit, commitEdit, createDefaultSkin, disclosureNodeProperty, executeAccessibleAction, getDisclosureNode, getTreeItem, getTreeView, queryAccessibleAttribute, setDisclosureNode, startEdit, treeItemProperty, treeViewProperty, updateTreeItem, updateTreeView
    • Методы, унаследованные от класса 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<TreeItem<T>>> converterProperty
      Свойство StringConverter.
      Возвращает:
      свойство StringConverter
    • selectedStateCallback

      public final ObjectProperty<Callback<TreeItem<T>,​ObservableValue<Boolean>>> selectedStateCallbackProperty
      Свойство, представляющее Callback, привязанное к флажку CheckBox, отображаемому на экране.
      См. также:
      getSelectedStateCallback(), setSelectedStateCallback(Callback)
  • Подробное описание конструкторов

    • CheckBoxTreeCell

      public CheckBoxTreeCell()
      Создаёт стандартную ячейку CheckBoxTreeCell, предполагая, что TreeView построен с помощью экземпляров CheckBoxTreeItem, а не стандартных TreeItem. Используя CheckBoxTreeItem, он будет внутренне управлять состоянием выбора и неопределённости каждого элемента в дереве.
    • CheckBoxTreeCell

      public CheckBoxTreeCell​(Callback<TreeItem<T>,​ObservableValue<Boolean>> getSelectedProperty)
      Создаёт ячейку CheckBoxTreeCell для использования в элементе управления TreeView через фабрику ячеек. В отличие от CheckBoxTreeCell(), этот метод не предполагает, что все экземпляры TreeItem в TreeView являются CheckBoxTreeItem.

      Для вызова этого метода необходимо предоставить Callback, который, получив объект типа TreeItem<T>, вернёт булево значение, обозначающее, выбран ли данный элемент. Это булево значение будет привязано двунаправленно (что означает, что CheckBox в ячейке установит/сбросит это значение на основе взаимодействия пользователя, а CheckBox будет отображать состояние этого значения, если оно изменится внешним образом).

      Если элементы не являются экземплярами CheckBoxTreeItem, разработчик несёт ответственность за обновление состояния родительских и дочерних TreeItems. Это означает, что, получив TreeItem, этот класс просто переключает предоставленное булево значение, и ничего больше. Конечно, эту функциональность можно реализовать внешним образом, добавив наблюдателей к этому булевому значению и переключая состояние других необходимых свойств.

      Параметры:
      getSelectedProperty - Callback, возвращающий булево значение, обозначающее выбор элемента.
    • CheckBoxTreeCell

      public CheckBoxTreeCell​(Callback<TreeItem<T>,​ObservableValue<Boolean>> getSelectedProperty,
                              StringConverter<TreeItem<T>> converter)
      Создаёт ячейку CheckBoxTreeCell для использования в элементе управления TreeView через фабрику ячеек. В отличие от CheckBoxTreeCell(), этот метод не предполагает, что все экземпляры TreeItem в TreeView являются CheckBoxTreeItem.

      Для вызова этого метода необходимо предоставить Callback, который, получив объект типа TreeItem<T>, вернёт булево значение, обозначающее, выбран ли данный элемент. Это булево значение будет привязано двунаправленно (что означает, что CheckBox в ячейке установит/сбросит это значение на основе взаимодействия пользователя, а CheckBox будет отображать состояние этого значения, если оно изменится внешним образом).

      Если элементы не являются экземплярами CheckBoxTreeItem, разработчик несёт ответственность за обновление состояния родительских и дочерних TreeItems. Это означает, что, получив TreeItem, этот класс просто переключает предоставленное булево значение, и ничего больше. Конечно, эту функциональность можно реализовать внешним образом, добавив наблюдателей к этому булевому значению и переключая состояние других необходимых свойств.

      Параметры:
      getSelectedProperty - Callback, возвращающий булево значение, обозначающее выбор элемента.
      converter - StringConverter, преобразующий объект типа TreeItem<T> в строку для визуального отображения.
  • Подробное описание методов

    • forTreeView

      public static <T> Callback<TreeView<T>,​TreeCell<T>> forTreeView()
      Создаёт фабрику ячеек для использования в элементе управления TreeView, хотя при использовании в TreeView делается существенное предположение: эта фабрика ячеек предполагает, что корень TreeView и все дочерние элементы являются экземплярами CheckBoxTreeItem, а не стандартного класса TreeItem, который используется обычно.

      При использовании в TreeView ячейка CheckBox отображается с CheckBox справа от 'узла раскрытия' (т. е. стрелки). Элемент, хранящийся в TreeItem.getValue(), затем будет обработан StringConverter, и этот текст займёт всё оставшееся горизонтальное пространство. Кроме того, используя CheckBoxTreeItem, TreeView автоматически обрабатывает такие ситуации, как:

      • Нажатие на CheckBox рядом с элементом, имеющим дочерние элементы, приведёт к тому, что все дочерние элементы также будут выбраны/отменены.
      • Нажатие на CheckBox рядом с элементом, имеющим родителя, возможно, переключит состояние родителя. Например, если вы выберете единственного потомка, родитель станет неопределённым (указывая на частичный выбор потомков). Если вы продолжите выбор всех потомков, родитель также будет выбран. Это рекурсивно, со всеми родительскими узлами, обновляемыми как ожидается.

      К сожалению, из-за ограничений Java, при использовании этого метода необходимо явно выполнить приведение типов. Например:

       
       final TreeView<String> treeView = new TreeView<String>();
       treeView.setCellFactory(CheckBoxCell.<String>forTreeView());
      Type Parameters:
      T - Тип элементов, содержащихся в экземплярах CheckBoxTreeItem.
      Возвращает:
      А Callback, который вернёт TreeCell, способный работать с типом элемента, содержащегося в корне TreeView и всех его потомках (рекурсивно).
    • forTreeView

      public static <T> Callback<TreeView<T>,​TreeCell<T>> forTreeView​(Callback<TreeItem<T>,​ObservableValue<Boolean>> getSelectedProperty)
      Создаёт фабрику ячеек для использования в элементе управления TreeView. В отличие от forTreeView(), этот метод не предполагает, что все экземпляры TreeItem в TreeView являются экземплярами CheckBoxTreeItem.

      При использовании в TreeView ячейка CheckBox отображается с CheckBox справа от 'узла раскрытия' (т. е. стрелки). Элемент, хранящийся в TreeItem.getValue(), затем будет обработан StringConverter, и этот текст займёт всё оставшееся горизонтальное пространство.

      В отличие от forTreeView(), эта фабрика ячеек не обрабатывает обновление состояния родительских или дочерних TreeItem — она просто переключает предоставленное ObservableValue<Boolean> и ничего больше. Конечно, эту функциональность можно реализовать внешне, добавив наблюдатели к ObservableValue<Boolean> и переключая состояние других свойств по мере необходимости.

      Type Parameters:
      T - Тип элементов, содержащихся в экземплярах TreeItem.
      Параметры:
      getSelectedProperty - Callback, который, получив объект типа TreeItem<T>, вернёт ObservableValue<Boolean>, представляющий собой выбран или нет данный элемент. Это ObservableValue<Boolean> будет привязано двунаправленно (что означает, что CheckBox в ячейке установит/сбросит это свойство в зависимости от взаимодействия пользователя, и CheckBox отобразит состояние ObservableValue<Boolean>, если оно изменится внешне).
      Возвращает:
      А Callback, который вернёт TreeCell, способный работать с типом элемента, содержащегося в корне TreeView и всех его потомках (рекурсивно).
    • forTreeView

      public static <T> Callback<TreeView<T>,​TreeCell<T>> forTreeView​(Callback<TreeItem<T>,​ObservableValue<Boolean>> getSelectedProperty,
                                                                            StringConverter<TreeItem<T>> converter)
      Создаёт фабрику ячеек для использования в элементе управления TreeView. В отличие от forTreeView(), этот метод не предполагает, что все экземпляры TreeItem в TreeView являются экземплярами CheckBoxTreeItem.

      При использовании в TreeView ячейка CheckBox отображается с CheckBox справа от 'узла раскрытия' (т. е. стрелки). Элемент, хранящийся в TreeItem.getValue(), затем будет обработан StringConverter, и этот текст займёт всё оставшееся горизонтальное пространство.

      В отличие от forTreeView(), эта фабрика ячеек не обрабатывает обновление состояния родительских или дочерних TreeItems — она просто переключает предоставленное ObservableValue<Boolean> и ничего больше. Конечно, эту функциональность можно реализовать внешне, добавив наблюдатели к ObservableValue<Boolean> и переключая состояние других свойств по мере необходимости.

      Type Parameters:
      T - Тип элементов, содержащихся в экземплярах TreeItem.
      Параметры:
      getSelectedProperty - Callback, который, получив объект типа TreeItem<T>, вернёт ObservableValue<Boolean>, представляющий собой выбран или нет данный элемент. Это ObservableValue<Boolean> будет привязано двунаправленно (что означает, что CheckBox в ячейке установит/сбросит это свойство в зависимости от взаимодействия пользователя, и CheckBox отобразит состояние ObservableValue<Boolean>, если оно изменится внешне).
      converter - StringConverter, который, получив объект типа TreeItem<T>, вернёт строку, которая может быть использована для визуального представления объекта. По умолчанию в forTreeView(Callback) используется просто вызов .toString() для всех не нулевых элементов (и просто возвращается пустая строка в случае, если данный элемент равен null).
      Возвращает:
      А Callback, который вернёт TreeCell, способный работать с типом элемента, содержащегося в корне TreeView и всех его потомках (рекурсивно).
    • converterProperty

      public final ObjectProperty<StringConverter<TreeItem<T>>> converterProperty()
      Свойство StringConverter.
      Возвращает:
      свойство StringConverter
    • setConverter

      public final void setConverter​(StringConverter<TreeItem<T>> value)
      Устанавливает StringConverter для использования в этой ячейке.
      Параметры:
      value - StringConverter для использования в этой ячейке
    • getConverter

      public final StringConverter<TreeItem<T>> getConverter()
      Возвращает StringConverter, используемый в этой ячейке.
      Возвращает:
      StringConverter, используемый в этой ячейке
    • selectedStateCallbackProperty

      public final ObjectProperty<Callback<TreeItem<T>,​ObservableValue<Boolean>>> selectedStateCallbackProperty()
      Свойство, представляющее Callback, к которому привязана отображаемая на экране CheckBox.
      См. также:
      getSelectedStateCallback(), setSelectedStateCallback(Callback)
    • setSelectedStateCallback

      public final void setSelectedStateCallback​(Callback<TreeItem<T>,​ObservableValue<Boolean>> value)
      Устанавливает Callback, к которому привязана отображаемая на экране CheckBox.
      Параметры:
      value - Callback, к которому привязана отображаемая на экране CheckBox
    • getSelectedStateCallback

      public final Callback<TreeItem<T>,​ObservableValue<Boolean>> getSelectedStateCallback()
      Возвращает Callback, к которому привязана отображаемая на экране CheckBox.
      Возвращает:
      Callback, к которому привязана отображаемая на экране CheckBox
    • updateItem

      public void updateItem​(T item,
                             boolean empty)
      Метод updateItem не должен вызываться разработчиками, но это лучший метод для переопределения, чтобы позволить настраивать визуализацию ячейки. Важно, чтобы разработчики никогда не вызывали этот метод в своём коде (они должны позволить управлению пользовательского интерфейса, например, элементу ListView, вызывать этот метод). Однако, метод updateItem нужен для того, чтобы разработчики при указании пользовательских фабрик ячеек (опять же, как в ListView cell factory), могли переопределить метод updateItem для полной настройки ячейки.

      Очень важно, чтобы подклассы Cell правильно переопределяли метод updateItem, так как невыполнение этого может привести к проблемам, таким как пустые ячейки или ячейки с неожиданным содержимым. Вот пример того, как правильно переопределить метод updateItem:

       protected void updateItem(T item, boolean empty) {
           super.updateItem(item, empty);
      
           if (empty || item == null) {
               setText(null);
               setGraphic(null);
           } else {
               setText(item.toString());
           }
       }
       

      Обратите внимание на два важных момента в этом примере кода:

      1. Мы вызываем метод super.updateItem(T, boolean). Если этого не сделать, свойства item и empty не будут правильно установлены, и у вас, вероятно, возникнут графические проблемы.
      2. Мы проверяем условие empty и, если оно истинно, устанавливаем свойства text и graphic в null. Если этого не сделать, почти гарантировано, что конечные пользователи увидят графические артефакты в ячейках неожиданно.
      Параметры:
      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.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API