T
- The type of the elements contained within the ListView.public class CheckBoxListCell<T> extends ListCell<T>
ListCell
implementation that draws a
CheckBox
node inside the cell, optionally with a label to indicate
what the checkbox represents.
The CheckBoxListCell is rendered with a CheckBox on the left-hand side of
the ListView
, and the text related to the list item taking up all
remaining horizontal space.
To construct an instance of this class, it is necessary to provide a
Note that the CheckBoxListCell renders the CheckBox 'live', meaning that
the CheckBox is always interactive and can be directly toggled by the user.
This means that it is not necessary that the cell enter its
Callback
that, given an object of type T, will return a
ObservableValue<Boolean>
that represents whether the given item is
selected or not. This ObservableValue will be bound bidirectionally (meaning
that the CheckBox in the cell will set/unset this property based on user
interactions, and the CheckBox will reflect the state of the
ObservableValueediting state
(usually by the user double-clicking
on the cell). A side-effect of this is that the usual editing callbacks
(such as on edit commit
)
will not be called. If you want to be notified of changes,
it is recommended to directly observe the boolean properties that are
manipulated by the CheckBox.
Type | Property and Description |
---|---|
ObjectProperty<StringConverter<T>> |
converter
The
StringConverter property. |
ObjectProperty<Callback<T,ObservableValue<Boolean>>> |
selectedStateCallback
Property representing the
Callback that is bound to by the
CheckBox shown on screen. |
index
alignment, contentDisplay, ellipsisString, font, graphic, graphicTextGap, labelPadding, lineSpacing, mnemonicParsing, textAlignment, textFill, textOverrun, text, underline, wrapText
contextMenu, skin, tooltip
background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, width
needsLayout
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, visible
USE_COMPUTED_SIZE, USE_PREF_SIZE
BASELINE_OFFSET_SAME_AS_HEIGHT
Constructor and Description |
---|
CheckBoxListCell()
Creates a default CheckBoxListCell.
|
CheckBoxListCell(Callback<T,ObservableValue<Boolean>> getSelectedProperty)
Creates a default CheckBoxListCell.
|
CheckBoxListCell(Callback<T,ObservableValue<Boolean>> getSelectedProperty,
StringConverter<T> converter)
Creates a CheckBoxListCell with a custom string converter.
|
Modifier and Type | Method and Description |
---|---|
ObjectProperty<StringConverter<T>> |
converterProperty()
The
StringConverter property. |
static <T> Callback<ListView<T>,ListCell<T>> |
forListView(Callback<T,ObservableValue<Boolean>> getSelectedProperty)
Creates a cell factory for use in ListView controls.
|
static <T> Callback<ListView<T>,ListCell<T>> |
forListView(Callback<T,ObservableValue<Boolean>> getSelectedProperty,
StringConverter<T> converter)
Creates a cell factory for use in ListView controls.
|
StringConverter<T> |
getConverter()
Returns the
StringConverter used in this cell. |
Callback<T,ObservableValue<Boolean>> |
getSelectedStateCallback()
Returns the
Callback that is bound to by the CheckBox shown on screen. |
ObjectProperty<Callback<T,ObservableValue<Boolean>>> |
selectedStateCallbackProperty()
Property representing the
Callback that is bound to by the
CheckBox shown on screen. |
void |
setConverter(StringConverter<T> value)
Sets the
StringConverter to be used in this cell. |
void |
setSelectedStateCallback(Callback<T,ObservableValue<Boolean>> value)
Sets the
Callback that is bound to by the CheckBox shown on screen. |
void |
updateItem(T item,
boolean empty)
The updateItem method should not be called by developers, but it is the
best method for developers to override to allow for them to customise the
visuals of the cell.
|
cancelEdit, commitEdit, createDefaultSkin, executeAccessibleAction, getListView, listViewProperty, queryAccessibleAttribute, startEdit, updateListView
getIndex, indexProperty, updateIndex
editableProperty, editingProperty, emptyProperty, getItem, isEditable, isEditing, isEmpty, isItemChanged, isSelected, itemProperty, selectedProperty, setEditable, setItem, updateSelected
alignmentProperty, contentDisplayProperty, ellipsisStringProperty, fontProperty, getAlignment, getClassCssMetaData, getContentBias, getContentDisplay, getControlCssMetaData, getEllipsisString, getFont, getGraphic, getGraphicTextGap, 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
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, contextMenuProperty, getBaselineOffset, getContextMenu, getCssMetaData, getSkin, getTooltip, isResizable, layoutChildren, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
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, snapSize, snapSpace, snapToPixelProperty, widthProperty
getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
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, 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, 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, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, translateXProperty, translateYProperty, translateZProperty, usesMirroring, visibleProperty
public final ObjectProperty<StringConverter<T>> converterProperty
StringConverter
property.public final ObjectProperty<Callback<T,ObservableValue<Boolean>>> selectedStateCallbackProperty
Callback
that is bound to by the
CheckBox shown on screen.public CheckBoxListCell()
public CheckBoxListCell(Callback<T,ObservableValue<Boolean>> getSelectedProperty)
getSelectedProperty
- A Callback
that will return an
ObservableValue<Boolean>
given an item from the ListView.public CheckBoxListCell(Callback<T,ObservableValue<Boolean>> getSelectedProperty, StringConverter<T> converter)
getSelectedProperty
- A Callback
that will return an
ObservableValue<Boolean>
given an item from the ListView.converter
- A StringConverter that, given an object of type T, will
return a String that can be used to represent the object visually.public static <T> Callback<ListView<T>,ListCell<T>> forListView(Callback<T,ObservableValue<Boolean>> getSelectedProperty)
CheckBoxListCell
is rendered with a CheckBox on the
left-hand side of the ListView, with the text related to the list item
taking up all remaining horizontal space.T
- The type of the elements contained within the ListView.getSelectedProperty
- A Callback
that, given an object of
type T (which is a value taken out of the
ListView<T>.items
list),
will return an ObservableValue<Boolean>
that represents
whether the given item is selected or not. This ObservableValue will
be bound bidirectionally (meaning that the CheckBox in the cell will
set/unset this property based on user interactions, and the CheckBox
will reflect the state of the ObservableValue, if it changes
externally).Callback
that will return a ListCell that is able to
work on the type of element contained within the ListView items list.public static <T> Callback<ListView<T>,ListCell<T>> forListView(Callback<T,ObservableValue<Boolean>> getSelectedProperty, StringConverter<T> converter)
CheckBoxListCell
is rendered with a CheckBox on the
left-hand side of the ListView, with the text related to the list item
taking up all remaining horizontal space.T
- The type of the elements contained within the ListView.getSelectedProperty
- A Callback
that, given an object
of type T (which is a value taken out of the
ListView<T>.items
list),
will return an ObservableValue<Boolean>
that represents
whether the given item is selected or not. This ObservableValue will
be bound bidirectionally (meaning that the CheckBox in the cell will
set/unset this property based on user interactions, and the CheckBox
will reflect the state of the ObservableValue, if it changes
externally).converter
- A StringConverter that, give an object of type T, will
return a String that can be used to represent the object visually.Callback
that will return a ListCell that is able to
work on the type of element contained within the ListView.public final ObjectProperty<StringConverter<T>> converterProperty()
StringConverter
property.public final void setConverter(StringConverter<T> value)
StringConverter
to be used in this cell.public final StringConverter<T> getConverter()
StringConverter
used in this cell.public final ObjectProperty<Callback<T,ObservableValue<Boolean>>> selectedStateCallbackProperty()
Callback
that is bound to by the
CheckBox shown on screen.public final void setSelectedStateCallback(Callback<T,ObservableValue<Boolean>> value)
Callback
that is bound to by the CheckBox shown on screen.public final Callback<T,ObservableValue<Boolean>> getSelectedStateCallback()
Callback
that is bound to by the CheckBox shown on screen.public void updateItem(T item, boolean empty)
ListView
control) to call this method. However,
the purpose of having the updateItem method is so that developers, when
specifying custom cell factories (again, like the ListView
cell factory
),
the updateItem method can be overridden to allow for complete customisation
of the cell.
It is very important that subclasses of Cell override the updateItem method properly, as failure to do so will lead to issues such as blank cells or cells with unexpected content appearing within them. Here is an example of how to properly override the updateItem method:
protected void updateItem(T item, boolean empty) { super.updateItem(item, empty); if (empty || item == null) { setText(null); setGraphic(null); } else { setText(item.toString()); } }
Note in this code sample two important points:
empty
condition, and if true, we
set the text and graphic properties to null. If we do not do this,
it is almost guaranteed that end users will see graphical artifacts
in cells unexpectedly.updateItem
in class Cell<T>
item
- The new item for the cell.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.Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 2008, 2017, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.