- 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
- TreeView TreeItem实例中包含的元素的类型。
- All Implemented Interfaces:
-
Styleable
,EventTarget
,Skinnable
public class CheckBoxTreeCell<T> extends TreeCell<T>
一个包含TreeCell
实现的类,它在单元格中绘制一个CheckBox
节点,同时支持常见的交互( 稍后更详细地讨论)。要使用CheckBox创建TreeView更容易,提供了一个名为
CheckBoxTreeItem
的便利类。 强烈建议开发人员在构建其TreeView树结构时使用此类,而不是常规的TreeItem
类。 有关如何组合这两个类的示例,请参阅CheckBoxTreeItem API文档。当在TreeView中使用时,CheckBoxCell将使用“披露节点”右侧的复选框(即箭头)呈现。 然后,存储在
TreeItem.getValue()
中的项目将会调用StringConverter,此文本将占用所有剩余的水平空间。 另外,通过使用CheckBoxTreeItem
,TreeView会自动处理以下情况:- 点击
CheckBox
旁边有一个项目的孩子将导致所有的孩子也被选中/未选择。 - 点击
CheckBox
旁边一个有父项的项目可能会切换父级的状态。 例如,如果您选择一个孩子,父母将变得不确定(指示部分选择孩子)。 如果继续选择所有孩子,父母将显示它也被选中。 这是递归的,所有父节点按预期更新。
CheckBoxTreeItem
是不可取的,那么就需要调用其中一个构造函数Callback
提供了可以返回ObservableValue<Boolean>
给予TreeItem
实例。 这个ObservableValue<Boolean>
应该表示给定的TreeItem
的布尔状态。请注意,CheckBoxTreeCell呈现CheckBox“live”,这意味着CheckBox始终是交互式的,可以由用户直接切换。 这意味着单元格不需要输入其
editing state
(通常由用户双击单元格)。 这样做的副作用是 不会调用通常的编辑回调(如on edit commit
)。 如果要通知更改,建议直接观察CheckBox操作的布尔属性。- 从以下版本开始:
- JavaFX 2.2
-
-
Property Summary
Properties Type Property 描述 ObjectProperty<StringConverter<TreeItem<T>>>
converter
ObjectProperty<Callback<TreeItem<T>,ObservableValue<Boolean>>>
selectedStateCallback
属性表示由屏幕上显示的复选框绑定的Callback
。-
Properties inherited from class javafx.scene.control.Control
contextMenu, skin, tooltip
-
Properties inherited from class javafx.scene.control.IndexedCell
index
-
Properties inherited from class javafx.scene.control.Labeled
alignment, contentDisplay, ellipsisString, font, graphic, graphicTextGap, labelPadding, lineSpacing, mnemonicParsing, textAlignment, textFill, textOverrun, text, underline, wrapText
-
Properties inherited from class 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
-
Properties inherited from class javafx.scene.Parent
needsLayout
-
Properties inherited from class javafx.scene.layout.Region
background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width
-
Properties inherited from class javafx.scene.control.TreeCell
disclosureNode, treeItem, treeView
-
-
Field Summary
-
Fields inherited from class javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
-
Fields inherited from class javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
-
-
构造方法摘要
构造方法 Constructor 描述 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控件。
-
方法摘要
-
Methods inherited from class javafx.scene.control.Cell
editableProperty, editingProperty, emptyProperty, getInitialFocusTraversable, getItem, isEditable, isEditing, isEmpty, isItemChanged, isSelected, itemProperty, layoutChildren, selectedProperty, setEditable, setItem, updateSelected
-
Methods inherited from class javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, getBaselineOffset, getContextMenu, getCssMetaData, getSkin, getTooltip, isResizable, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
-
Methods inherited from class javafx.scene.control.IndexedCell
getIndex, indexProperty, updateIndex
-
Methods inherited from class 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
-
Methods inherited from class 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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from class javafx.scene.Parent
getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
-
Methods inherited from class 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
-
Methods inherited from interface javafx.css.Styleable
getStyleableNode
-
Methods inherited from class javafx.scene.control.TreeCell
cancelEdit, commitEdit, createDefaultSkin, disclosureNodeProperty, executeAccessibleAction, getDisclosureNode, getTreeItem, getTreeView, queryAccessibleAttribute, setDisclosureNode, startEdit, treeItemProperty, treeViewProperty, updateTreeItem, updateTreeView
-
-
-
-
Property Detail
-
converter
public final ObjectProperty<StringConverter<TreeItem<T>>> converterProperty
- 结果
-
StringConverter
属性
-
selectedStateCallback
public final ObjectProperty<Callback<TreeItem<T>,ObservableValue<Boolean>>> selectedStateCallbackProperty
属性表示由屏幕上显示的复选框绑定的Callback
。
-
-
构造方法详细信息
-
CheckBoxTreeCell
public CheckBoxTreeCell()
创建一个默认的CheckBoxTreeCell
,假定TreeView是用CheckBoxTreeItem
实例构建的,而不是默认的TreeItem
。 通过使用CheckBoxTreeItem
,它将内部管理树中每个项目的选定和不确定状态。
-
CheckBoxTreeCell
public CheckBoxTreeCell(Callback<TreeItem<T>,ObservableValue<Boolean>> getSelectedProperty)
创建一个CheckBoxTreeCell
,用于通过单元格工厂的TreeView控件。 与CheckBoxTreeCell()
不同,该方法不会假定TreeView中的所有TreeItem实例都是CheckBoxTreeItem
。要调用此方法,有必要提供一个
Callback
,给定一个TreeItem <T>类型的对象,将返回一个表示给定项目是否被选择的ObservableValue<Boolean>
。 这个ObservableValue<Boolean>
将双向绑定(这意味着单元格中的复选框将基于用户交互设置/取消设置此属性,如果外部更改,则复选框将反映ObservableValue<Boolean>
的状态)。如果项目不是
CheckBoxTreeItem
实例,则开发人员负责处理更新父项和子项TreeItems的状态。 这意味着,给定一个TreeItem,这个类将简单地切换提供的ObservableValue<Boolean>
,而不是更多。 当然,这个功能可以通过向ObservableValue<Boolean>
添加观察者来外部实现,并根据需要切换其他属性的状态。- 参数
-
getSelectedProperty
- ACallback
将返回一个ObservableValue<Boolean>
,表示给定项目是否被选择。
-
CheckBoxTreeCell
public CheckBoxTreeCell(Callback<TreeItem<T>,ObservableValue<Boolean>> getSelectedProperty, StringConverter<TreeItem<T>> converter)
创建一个CheckBoxTreeCell
,用于通过单元格工厂的TreeView控件。 与CheckBoxTreeCell()
不同,该方法不会假定TreeView中的所有TreeItem实例都是CheckBoxTreeItem
。要调用此方法,有必要提供一个
Callback
,给定一个TreeItem <T>类型的对象将返回一个ObservableValue<Boolean>
,表示给定项是否被选择。 这个ObservableValue<Boolean>
将双向绑定(这意味着单元格中的复选框将基于用户交互设置/取消设置此属性,而复选框将反映ObservableValue<Boolean>
的状态,如果外部更改)。如果项目不是
CheckBoxTreeItem
实例,则开发人员负责处理更新父和子TreeItems的状态。 这意味着,给定一个TreeItem,这个类将简单地切换提供的ObservableValue<Boolean>
,而不是更多。 当然,这个功能可以通过向ObservableValue<Boolean>
添加观察者来外部实现,并根据需要切换其他属性的状态。- 参数
-
getSelectedProperty
- ACallback
将返回一个表示给定项目是否被选择的ObservableValue<Boolean>
。 -
converter
- 给一个类型为TreeItem <T>的对象的StringConverter将返回一个可以用于可视化表示对象的String。
-
-
方法详细信息
-
forTreeView
public static <T> Callback<TreeView<T>,TreeCell<T>> forTreeView()
创建在TreeView控件中使用的单元格工厂,尽管在TreeView中使用时有一个主要假设:此单元格工厂假定TreeView根和所有子项都是CheckBoxTreeItem
的实例,而不是正常使用的默认TreeItem
类。当在TreeView中使用时,CheckBoxCell将使用“披露节点”右侧的复选框(即箭头)呈现。 存储在
TreeItem.getValue()
中的项目将在其上调用StringConverter,并且此文本将占用所有剩余的水平空间。 另外,通过使用CheckBoxTreeItem
,TreeView将自动处理以下情况:- 点击
CheckBox
旁边有一个项目的孩子将导致所有的孩子也被选中/未选择。 - 点击
CheckBox
旁边一个有父项的项目可能会切换父级的状态。 例如,如果您选择一个孩子,父母将变得不确定(指示部分选择孩子)。 如果继续选择所有孩子,父母将显示它也被选中。 这是递归的,所有父节点按预期更新。
不幸的是,由于Java的限制,使用这种方法时需要提供一个显式的转换。 例如:
final TreeView<String> treeView = new TreeView<String>(); treeView.setCellFactory(CheckBoxCell.<String>forTreeView());
- 参数类型
-
T
-CheckBoxTreeItem
实例中包含的元素的类型。 - 结果
-
A
Callback
将返回一个TreeCell,它能够处理TreeView根目录中包含的元素及其所有子项(递归)。
- 点击
-
forTreeView
public static <T> Callback<TreeView<T>,TreeCell<T>> forTreeView(Callback<TreeItem<T>,ObservableValue<Boolean>> getSelectedProperty)
创建一个用于TreeView控件的单元格工厂。 与forTreeView()
不同,此方法不会假定TreeView中的所有TreeItem实例都是CheckBoxTreeItem
实例。当在TreeView中使用时,CheckBoxCell将使用“披露节点”右侧的复选框(即箭头)呈现。 然后,存储在
TreeItem.getValue()
中的项目将会调用StringConverter,此文本将占用所有剩余的水平空间。不像
forTreeView()
,这个单元格工厂不处理更新父项或子ObservableValue<Boolean>
TreeItems的状态 - 它只是切换提供的ObservableValue<Boolean>
,而不是更多。 当然,这个功能可以通过向ObservableValue<Boolean>
添加观察者来外部实现,并根据需要切换其他属性的状态。- 参数类型
-
T
-TreeItem
实例中包含的元素的类型。 - 参数
-
getSelectedProperty
- 一个Callback
,给定一个类型为TreeItem <T>的对象,将返回一个ObservableValue<Boolean>
,表示给定项是否被选择。 这个ObservableValue<Boolean>
将双向绑定(这意味着单元格中的复选框将基于用户交互设置/取消设置此属性,如果外部更改,则复选框将反映ObservableValue<Boolean>
的状态)。 - 结果
-
A
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()
不同,该方法不会假定TreeView中的所有TreeItem实例都是CheckBoxTreeItem
。当在TreeView中使用时,CheckBoxCell将使用“披露节点”右侧的复选框(即箭头)呈现。 然后,存储在
TreeItem.getValue()
中的项目将会调用StringConverter,此文本将占用所有剩余的水平空间。不像
forTreeView()
,这个单元格工厂不处理更新父项或子ObservableValue<Boolean>
TreeItems的状态 - 它只是切换提供的ObservableValue<Boolean>
,而不是更多。 当然,可以通过向ObservableValue<Boolean>
添加观察者来外部实现该功能,并根据需要切换其他属性的状态。- 参数类型
-
T
-TreeItem
实例中包含的元素的类型。 - 参数
-
getSelectedProperty
- 给定一个TreeItem <T>类型的对象的回调将返回一个ObservableValue<Boolean>
,表示给定项是否被选择。 这个ObservableValue<Boolean>
将双向绑定(这意味着单元格中的复选框将基于用户交互设置/取消设置此属性,而复选框将反映ObservableValue<Boolean>
的状态,如果外部更改)。 -
converter
- 提供TreeItem <T>类型的对象的StringConverter将返回一个可以用来直观地表示对象的String。 在forTreeView(Callback)
中的默认实现是简单地在所有非空项目上调用.toString()(并且在给定项目为空的情况下只返回一个空字符串)。 - 结果
-
A
Callback
将返回一个TreeCell,它可以处理TreeView根目录中包含的元素及其所有子项(递归)。
-
converterProperty
public final ObjectProperty<StringConverter<TreeItem<T>>> converterProperty()
- 结果
-
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
。
-
setSelectedStateCallback
public final void setSelectedStateCallback(Callback<TreeItem<T>,ObservableValue<Boolean>> value)
设置由屏幕上显示的复选框绑定的Callback
。- 参数
-
value
- 屏幕上显示的复选框所绑定的Callback
-
getSelectedStateCallback
public final Callback<TreeItem<T>,ObservableValue<Boolean>> getSelectedStateCallback()
返回由屏幕上显示的复选框绑定的Callback
。- 结果
-
由屏幕上显示的复选框绑定的
Callback
-
updateItem
public void updateItem(T item, boolean empty)
updateItem方法不应该被开发人员调用,但它是开发人员覆盖的最佳方式,以允许它们自定义单元格的视觉效果。 为了澄清,开发人员不应该在他们的代码中调用这个方法(他们应该留给UI控件,如ListView
控件)来调用这个方法。 然而,使用updateItem方法的目的是使开发人员在指定自定义单元工厂时(再次像ListViewcell 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()); } }
注意在这段代码示例中的两个重点:
- 我们称之为super.updateItem(T,boolean)方法。 如果没有这样做,项目和空属性设置不正确,您可能会遇到图形问题。
- 我们测试
empty
条件,如果为true,我们将文本和图形属性设置为null。 如果我们不这样做,几乎可以保证最终用户意外地看到细胞中的图形工件。
- 参数
-
item
- 单元格的新项目。 -
empty
- 该单元格是否表示列表中的数据。 如果它是空的,那么它不表示任何域数据,而是用于呈现“空”行的单元格。
-
-