- 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.TableCell<S,T>
-
- javafx.scene.control.cell.CheckBoxTableCell<S,T>
-
- 参数类型
-
T
- TableColumn中包含的元素的类型。
- All Implemented Interfaces:
-
Styleable
,EventTarget
,Skinnable
public class CheckBoxTableCell<S,T> extends TableCell<S,T>
一个包含一个TableCell
实现的类,它在单元格内绘制一个CheckBox
节点,可选地带有一个标签,表示复选框代表什么。默认情况下,CheckBoxTableCell将以CheckColumn中心的CheckBox进行渲染。 如果需要标签,则必须向
CheckBoxTableCell(Callback, StringConverter)
构造函数提供非空StringConverter实例。要构造此类的实例,有必要提供一个
Callback
,给定一个类型T的对象将返回一个ObservableProperty<Boolean>
,表示给定项是否被选择。 这个ObservableValue将双向绑定(这意味着单元格中的CheckBox将根据用户交互设置/取消设置此属性,如果外部改变,CheckBox将反映ObservableValue的状态)。请注意,CheckBoxTableCell会呈现CheckBox“live”,这意味着CheckBox始终是交互式的,可以由用户直接切换。 这意味着单元格不需要输入其
editing state
(通常由用户双击单元格)。 这方面的一个副作用是,通常的编辑回调(如on edit commit
)将不被调用。 如果要通知更改,建议直接观察CheckBox操作的布尔属性。- 从以下版本开始:
- JavaFX 2.2
-
-
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.TableCell
tableColumn, tableRow, tableView
-
-
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 描述 CheckBoxTableCell()
创建一个默认的CheckBoxTableCell。CheckBoxTableCell(Callback<Integer,ObservableValue<Boolean>> getSelectedProperty)
CheckBoxTableCell(Callback<Integer,ObservableValue<Boolean>> getSelectedProperty, StringConverter<T> converter)
创建一个带有自定义字符串转换器的CheckBoxTableCell。
-
方法摘要
-
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.TableCell
cancelEdit, commitEdit, createDefaultSkin, executeAccessibleAction, getTableColumn, getTableRow, getTableView, layoutChildren, queryAccessibleAttribute, startEdit, tableColumnProperty, tableRowProperty, tableViewProperty, updateSelected, updateTableColumn, updateTableRow, updateTableView
-
-
-
-
Property Detail
-
converter
public final ObjectProperty<StringConverter<T>> converterProperty
- 结果
-
StringConverter
属性
-
selectedStateCallback
public final ObjectProperty<Callback<Integer,ObservableValue<Boolean>>> selectedStateCallbackProperty
属性表示由屏幕上显示的复选框绑定的Callback
。
-
-
构造方法详细信息
-
CheckBoxTableCell
public CheckBoxTableCell()
创建一个默认的CheckBoxTableCell。
-
CheckBoxTableCell
public CheckBoxTableCell(Callback<Integer,ObservableValue<Boolean>> getSelectedProperty)
- 参数
-
getSelectedProperty
- ACallback
将从TableColumn返回一个ObservableValue
的索引。
-
CheckBoxTableCell
public CheckBoxTableCell(Callback<Integer,ObservableValue<Boolean>> getSelectedProperty, StringConverter<T> converter)
创建一个带有自定义字符串转换器的CheckBoxTableCell。- 参数
-
getSelectedProperty
- ACallback
将从TableColumn返回一个ObservableValue
的索引。 -
converter
- 给定一个类型T的对象的StringConverter将返回一个可以用于可视化表示对象的String。
-
-
方法详细信息
-
forTableColumn
public static <S> Callback<TableColumn<S,Boolean>,TableCell<S,Boolean>> forTableColumn(TableColumn<S,Boolean> column)
创建一个用于TableColumn
电池厂的电池厂 。 该方法要求TableColumn的类型为Boolean
。当在TableColumn中使用时,CheckBoxCell将以列为中心的CheckBox呈现。
包含在列中每个单元格内的
ObservableValue<Boolean>
将双向绑定。 这意味着单元格中的复选框将基于用户交互设置/取消设置此属性,如果外部更改,则复选框将反映ObservableValue<Boolean>
的状态。
-
forTableColumn
public static <S,T> Callback<TableColumn<S,T>,TableCell<S,T>> forTableColumn(Callback<Integer,ObservableValue<Boolean>> getSelectedProperty)
创建一个电池厂 ,用于TableColumn
电池厂 。 此方法要求TableColumn的类型为ObservableValue<Boolean>
。当在TableColumn中使用时,CheckBoxCell将以列为中心的CheckBox呈现。
- 参数类型
-
S
- TableView通用类型的类型 -
T
-TableColumn
实例中包含的元素的类型。 - 参数
-
getSelectedProperty
- 给定一个类型为TableColumn<S,T>
的对象的回调TableColumn<S,T>
将返回一个表示给定项目是否被选择的ObservableValue<Boolean>
。 这个ObservableValue<Boolean>
将双向绑定(这意味着单元格中的复选框将基于用户交互设置/取消设置此属性,如果外部更改,则复选框将反映ObservableValue<Boolean>
的状态)。 - 结果
-
A
Callback
将返回一个能够处理TableColumn中包含的元素类型的TableCell
。
-
forTableColumn
public static <S,T> Callback<TableColumn<S,T>,TableCell<S,T>> forTableColumn(Callback<Integer,ObservableValue<Boolean>> getSelectedProperty, boolean showLabel)
创建一个电池厂 ,用于TableColumn
电池厂 。 此方法要求TableColumn的类型为ObservableValue<Boolean>
。当在TableColumn中使用时,CheckBoxCell将以列为中心的CheckBox呈现。
- 参数类型
-
S
- TableView通用类型的类型 -
T
-TableColumn
实例中包含的元素的类型。 - 参数
-
getSelectedProperty
- 给定一个类型为TableColumn<S,T>
的对象的回调TableColumn<S,T>
将返回一个表示给定项目是否被选择的ObservableValue<Boolean>
。 这个ObservableValue<Boolean>
将双向绑定(这意味着单元格中的复选框将基于用户交互设置/取消设置此属性,如果外部更改,则复选框将反映ObservableValue<Boolean>
的状态)。 -
showLabel
- 在某些情况下,可能希望在CheckBox
旁边的TableCell中显示一个标签。 默认情况下,不显示标签,但通过将其设置为true,单元格中的项目也将在其上调用toString()。 如果这不是所需的行为,请考虑使用forTableColumn(javafx.util.Callback, javafx.util.StringConverter)
,它允许您提供一个指定给定行项目的标签的回调。 - 结果
-
A
Callback
将返回一个能够处理TableColumn中包含的元素类型的TableCell
。
-
forTableColumn
public static <S,T> Callback<TableColumn<S,T>,TableCell<S,T>> forTableColumn(Callback<Integer,ObservableValue<Boolean>> getSelectedProperty, StringConverter<T> converter)
创建一个电池厂 ,用于TableColumn
电池厂 。 此方法要求TableColumn的类型为ObservableValue<Boolean>
。当在TableColumn中使用时,CheckBoxCell将以列为中心的CheckBox呈现。
- 参数类型
-
S
- TableView通用类型的类型 -
T
-TableColumn
实例中包含的元素的类型。 - 参数
-
getSelectedProperty
- 给出TableColumn<S,T>
类型的对象的回调TableColumn<S,T>
将返回一个ObservableValue<Boolean>
,表示给定项目是否被选择。 这个ObservableValue<Boolean>
将双向绑定(这意味着单元格中的复选框将基于用户交互设置/取消设置此属性,如果外部更改,则复选框将反映ObservableValue<Boolean>
的状态)。 -
converter
- 提供类型T的对象的StringConverter将返回一个可以用于可视化表示对象的字符串。 在forTableColumn(Callback, boolean)
(当showLabel为true时)的默认实现是简单地在所有非空项目上调用.toString()(并且在给定项目为空的情况下只返回一个空字符串)。 - 结果
-
A
Callback
将返回一个能够处理TableColumn中包含的元素类型的TableCell
。
-
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
- whether or not this cell represents data from the list. If it is empty, then it does not represent any domain data, but is a cell being used to render an "empty" row.
-
-