- 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.TreeTableCell<S,T>
-
- javafx.scene.control.cell.CheckBoxTreeTableCell<S,T>
-
- 参数类型
-
S
- TreeTableView通用类型的类型 -
T
- TreeTableColumn中包含的元素的类型。
- All Implemented Interfaces:
-
Styleable
,EventTarget
,Skinnable
public class CheckBoxTreeTableCell<S,T> extends TreeTableCell<S,T>
一个包含一个TreeTableCell
实现的类,在该单元格内绘制一个CheckBox
节点,可选地带有一个标签来指示复选框代表什么。默认情况下,CheckBoxTreeTableCell使用以TreeTableColumn为中心的CheckBox进行渲染。 如果需要标签,则必须向
CheckBoxTreeTableCell(Callback, StringConverter)
构造函数提供非空StringConverter实例。要构造此类的实例,有必要提供一个
Callback
,给定一个类型T的对象将返回一个ObservableProperty<Boolean>
,表示给定项是否被选择。 这个ObservableValue将双向绑定(这意味着单元格中的CheckBox将根据用户交互设置/取消设置此属性,如果外部改变,CheckBox将反映ObservableValue的状态)。请注意,CheckBoxTreeTableCell渲染CheckBox“live”,这意味着CheckBox始终是交互式的,可以由用户直接切换。 这意味着单元格无需进入其
editing state
(通常由用户双击单元格)。 这方面的一个副作用是,通常的编辑回调(如on edit commit
)将不被调用。 如果要通知更改,建议直接观察CheckBox操作的布尔属性。- 从以下版本开始:
- JavaFX 8.0
-
-
Property Summary
Properties Type Property 描述 ObjectProperty<StringConverter<T>>
converter
ObjectProperty<Callback<Integer,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.TreeTableCell
tableColumn, tableRow, treeTableView
-
-
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 描述 CheckBoxTreeTableCell()
创建一个默认的CheckBoxTreeTableCell。CheckBoxTreeTableCell(Callback<Integer,ObservableValue<Boolean>> getSelectedProperty)
CheckBoxTreeTableCell(Callback<Integer,ObservableValue<Boolean>> getSelectedProperty, StringConverter<T> converter)
用自定义字符串转换器创建一个CheckBoxTreeTableCell。
-
方法摘要
-
Methods inherited from class javafx.scene.control.Cell
editableProperty, editingProperty, emptyProperty, getInitialFocusTraversable, getItem, isEditable, isEditing, isEmpty, isItemChanged, isSelected, itemProperty, selectedProperty, setEditable, setItem
-
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.TreeTableCell
cancelEdit, commitEdit, createDefaultSkin, executeAccessibleAction, getTableColumn, getTreeTableRow, getTreeTableView, layoutChildren, queryAccessibleAttribute, startEdit, tableColumnProperty, tableRowProperty, treeTableViewProperty, updateSelected, updateTreeTableColumn, updateTreeTableRow, updateTreeTableView
-
-
-
-
Property Detail
-
converter
public final ObjectProperty<StringConverter<T>> converterProperty
- 结果
-
StringConverter
财产
-
selectedStateCallback
public final ObjectProperty<Callback<Integer,ObservableValue<Boolean>>> selectedStateCallbackProperty
属性表示由屏幕上显示的复选框绑定的Callback
。
-
-
构造方法详细信息
-
CheckBoxTreeTableCell
public CheckBoxTreeTableCell()
创建一个默认的CheckBoxTreeTableCell。
-
CheckBoxTreeTableCell
public CheckBoxTreeTableCell(Callback<Integer,ObservableValue<Boolean>> getSelectedProperty)
- 参数
-
getSelectedProperty
- ACallback
将从TreeTableColumn返回一个ObservableValue
给定的索引。
-
CheckBoxTreeTableCell
public CheckBoxTreeTableCell(Callback<Integer,ObservableValue<Boolean>> getSelectedProperty, StringConverter<T> converter)
用自定义字符串转换器创建一个CheckBoxTreeTableCell。- 参数
-
getSelectedProperty
- ACallback
将从TreeTableColumn返回给定索引的ObservableValue
。 -
converter
- 给定一个类型为T的对象的StringConverter将返回一个可以用来直观地表示对象的String。
-
-
方法详细信息
-
forTreeTableColumn
public static <S> Callback<TreeTableColumn<S,Boolean>,TreeTableCell<S,Boolean>> forTreeTableColumn(TreeTableColumn<S,Boolean> column)
创建一个电池厂 ,用于TreeTableColumn
电池厂 。 此方法要求TreeTableColumn的类型为Boolean
。当在TreeTableColumn中使用时,CheckBoxCell将以列为中心的CheckBox呈现。
包含在列中每个单元格内的
ObservableValue<Boolean>
将双向绑定。 这意味着单元格中的复选框将基于用户交互设置/取消设置此属性,如果外部更改,则复选框将反映ObservableValue<Boolean>
的状态。- 参数类型
-
S
- TreeTableView通用类型的类型 - 参数
-
column
- 类型为Boolean
的TreeTableColumn - 结果
-
A
Callback
将返回一个能够处理TreeTableColumn中包含的元素类型的TreeTableCell
。
-
forTreeTableColumn
public static <S,T> Callback<TreeTableColumn<S,T>,TreeTableCell<S,T>> forTreeTableColumn(Callback<Integer,ObservableValue<Boolean>> getSelectedProperty)
创建一个电池厂 ,用于TreeTableColumn
电池厂 。 此方法要求TreeTableColumn的类型为ObservableValue<Boolean>
。当在TreeTableColumn中使用时,CheckBoxCell将以列为中心的CheckBox呈现。
- 参数类型
-
S
- TreeTableView泛型类型的类型 -
T
-TreeTableColumn
实例中包含的元素的类型。 - 参数
-
getSelectedProperty
- 给定一个TreeTableColumn<S,T>
类型的对象的回调TreeTableColumn<S,T>
将返回一个ObservableValue<Boolean>
,表示给定的项目是否被选择。 这个ObservableValue<Boolean>
将双向绑定(这意味着单元格中的复选框将基于用户交互设置/取消设置此属性,如果外部更改,则复选框将反映ObservableValue<Boolean>
的状态)。 - 结果
-
A
Callback
将返回一个能够处理TreeTableColumn中包含的元素类型的TreeTableCell
。
-
forTreeTableColumn
public static <S,T> Callback<TreeTableColumn<S,T>,TreeTableCell<S,T>> forTreeTableColumn(Callback<Integer,ObservableValue<Boolean>> getSelectedProperty, boolean showLabel)
创建一个电池厂 ,用于TreeTableColumn
电池厂 。 此方法要求TreeTableColumn的类型为ObservableValue<Boolean>
。当在TreeTableColumn中使用时,CheckBoxCell将以列为中心的CheckBox呈现。
- 参数类型
-
S
- TreeTableView泛型类型的类型 -
T
-TreeTableColumn
实例中包含的元素的类型。 - 参数
-
getSelectedProperty
- 给定一个TreeTableColumn<S,T>
类型的对象的回调TreeTableColumn<S,T>
将返回一个ObservableValue<Boolean>
,表示给定的项目是否被选择。 这个ObservableValue<Boolean>
将双向绑定(这意味着单元格中的复选框将基于用户交互设置/取消设置此属性,如果外部更改,则复选框将反映ObservableValue<Boolean>
的状态)。 -
showLabel
- 在某些情况下,可能希望在CheckBox
旁边的TreeTableCell中显示一个标签。 默认情况下,不显示标签,但通过将其设置为true,单元格中的项目也将在其上调用toString()。 如果这不是期望的行为,请考虑使用forTreeTableColumn(javafx.util.Callback, javafx.util.StringConverter)
,这允许您提供指定给定行项目的标签的回调。 - 结果
-
A
Callback
将返回一个能够处理TreeTableColumn中包含的元素类型的TreeTableCell
。
-
forTreeTableColumn
public static <S,T> Callback<TreeTableColumn<S,T>,TreeTableCell<S,T>> forTreeTableColumn(Callback<Integer,ObservableValue<Boolean>> getSelectedProperty, StringConverter<T> converter)
创建一个电池厂 ,用于TreeTableColumn
电池厂 。 此方法要求TreeTableColumn的类型为ObservableValue<Boolean>
。当在TreeTableColumn中使用时,CheckBoxCell将以列为中心的CheckBox呈现。
- 参数类型
-
S
- TreeTableView泛型类型的类型 -
T
-TreeTableColumn
实例中包含的元素的类型。 - 参数
-
getSelectedProperty
- 给予TreeTableColumn<S,T>
类型的对象的回调将返回一个表示给定项目是否被选择的ObservableValue<Boolean>
。 这个ObservableValue<Boolean>
将双向绑定(这意味着单元格中的复选框将基于用户交互设置/取消设置此属性,如果外部更改,则复选框将反映ObservableValue<Boolean>
的状态)。 -
converter
- 给定类型为T的对象的StringConverter将返回一个可以用于可视化表示对象的字符串。 在forTreeTableColumn(Callback, boolean)
(当showLabel为true时)的默认实现是简单地在所有非空项目上调用.toString()(并且在给定项为null的情况下只返回一个空字符串)。 - 结果
-
A
Callback
将返回一个能够处理TreeTableColumn中包含的元素类型的TreeTableCell
。
-
converterProperty
public final ObjectProperty<StringConverter<T>> converterProperty()
- 结果
-
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<Integer,ObservableValue<Boolean>>> selectedStateCallbackProperty()
属性表示由屏幕上显示的复选框绑定的Callback
。
-
setSelectedStateCallback
public final void setSelectedStateCallback(Callback<Integer,ObservableValue<Boolean>> value)
设置由屏幕上显示的复选框绑定的Callback
。- 参数
-
value
- 由屏幕上显示的复选框绑定的Callback
-
getSelectedStateCallback
public final Callback<Integer,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。 如果我们不这样做,几乎可以保证最终用户意外地看到细胞中的图形工件。
- 重写:
-
updateItem
在Cell<T>
- 参数
-
item
- 单元格的新项目。 -
empty
- 该单元格是否表示列表中的数据。 如果它是空的,那么它不表示任何域数据,而是用于呈现“空”行的单元格。
-
-