- java.lang.Object
-
- javafx.scene.Node
-
- javafx.scene.Parent
-
- javafx.scene.layout.Region
-
- javafx.scene.layout.Pane
-
- javafx.scene.layout.BorderPane
-
- com.gluonhq.charm.glisten.control.ListTile
-
- All Implemented Interfaces:
Styleable
,EventTarget
public class ListTile extends BorderPane
ListTile is a convenient container, similar to an
HBox
, that can be used as the graphic within aListCell
. Typically, a graphic node will be placed on the left, one or two lines of text will be laid out in the center, and a second graphic node will be on the right.Example
The following example sets a Cell Factory on a
CharmListView
called headerListView. That cell factory, creates custom instances ofCharmListCell
, in those instances a ListTile is set as the graphic.headerListView.setCellFactory(p -> new CharmListCell<Session>()
{ @Overridepublic void updateItem(Session item, boolean empty) { super.updateItem(item, empty); if (item != null && !empty) { VBox buttons = new VBox(MaterialDesignIcon.STAR_BORDER.graphic()); buttons.setMaxHeight(Double.MAX_VALUE); buttons.setAlignment(Pos.TOP_RIGHT); ListTile tile = new ListTile(); tile.textProperty().setAll(item.toString()); tile.setSecondaryGraphic(buttons); tile.setPrefHeight(40); tile.setOnMouseClicked(e -> buttons.getChildren().setAll(MaterialDesignIcon.STAR.graphic())); setText(null); setGraphic(tile); } else { setText(null); setGraphic(null); } }
});An image of the cells containing the ListTiles follows:
- Since:
- 1.0.0
-
-
Property Summary
Properties Type Property Description ObjectProperty<Node>
primaryGraphic
The property to display on the left side of the ListTile, as a full height Node.ObjectProperty<Node>
secondaryGraphic
The property to display on the right side of the ListTile, as a smaller Node.ObservableList<String>
text
The text to display in the ListTile, each item goes on a separate line.BooleanProperty
wrapText
A boolean property that indicates whether the text lines should be wrapped onto another line or not if they exceed the width of the ListTile.-
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.Parent
needsLayout
-
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, focusVisible, focusWithin, 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
-
-
Field Summary
-
Fields inherited from class javafx.scene.layout.Region
USE_COMPUTED_SIZE, USE_PREF_SIZE
-
Fields inherited from class javafx.scene.Node
BASELINE_OFFSET_SAME_AS_HEIGHT
-
-
Constructor Summary
Constructors Constructor Description ListTile()
Empty constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Node
getPrimaryGraphic()
Gets the value of the property primaryGraphic.Node
getSecondaryGraphic()
Gets the value of the property secondaryGraphic.boolean
isWrapText()
Gets the value of the property wrapText.ObjectProperty<Node>
primaryGraphicProperty()
The property to display on the left side of the ListTile, as a full height Node.ObjectProperty<Node>
secondaryGraphicProperty()
The property to display on the right side of the ListTile, as a smaller Node.void
setPrimaryGraphic(Node graphic)
Sets the value of the property primaryGraphic.void
setSecondaryGraphic(Node graphic)
Sets the value of the property secondaryGraphic.void
setTextLine(int i, String v)
Set a single line of text.void
setWrapText(boolean value)
Sets the value of the property wrapText.ObservableList<String>
textProperty()
The text to display in the ListTile, each item goes on a separate line.BooleanProperty
wrapTextProperty()
A boolean property that indicates whether the text lines should be wrapped onto another line or not if they exceed the width of the ListTile.-
Methods inherited from class javafx.scene.layout.BorderPane
bottomProperty, centerProperty, clearConstraints, computeMinHeight, computeMinWidth, computePrefHeight, computePrefWidth, getAlignment, getBottom, getCenter, getContentBias, getLeft, getMargin, getRight, getTop, layoutChildren, leftProperty, rightProperty, setAlignment, setBottom, setCenter, setLeft, setMargin, setRight, setTop, topProperty
-
Methods inherited from class javafx.scene.layout.Pane
getChildren
-
Methods inherited from class javafx.scene.layout.Region
backgroundProperty, borderProperty, cacheShapeProperty, centerShapeProperty, computeMaxHeight, computeMaxWidth, getBackground, getBorder, getClassCssMetaData, getCssMetaData, getHeight, getInsets, getMaxHeight, getMaxWidth, getMinHeight, getMinWidth, getOpaqueInsets, getPadding, getPrefHeight, getPrefWidth, getShape, getUserAgentStylesheet, getWidth, heightProperty, insetsProperty, isCacheShape, isCenterShape, isResizable, 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 class javafx.scene.Parent
getBaselineOffset, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, queryAccessibleAttribute, requestLayout, requestParentLayout, setNeedsLayout, updateBounds
-
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, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInitialFocusTraversable, 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, isFocusVisible, isFocusWithin, 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, toString, 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 interface javafx.css.Styleable
getStyleableNode
-
-
-
-
Property Detail
-
primaryGraphic
public final ObjectProperty<Node> primaryGraphicProperty
The property to display on the left side of the ListTile, as a full height Node.- See Also:
getPrimaryGraphic()
,setPrimaryGraphic(Node)
-
text
public final ObservableList<String> textProperty
The text to display in the ListTile, each item goes on a separate line. Only the first 3 Strings are used.
-
secondaryGraphic
public final ObjectProperty<Node> secondaryGraphicProperty
The property to display on the right side of the ListTile, as a smaller Node.- See Also:
getSecondaryGraphic()
,setSecondaryGraphic(Node)
-
wrapText
public final BooleanProperty wrapTextProperty
A boolean property that indicates whether the text lines should be wrapped onto another line or not if they exceed the width of the ListTile. The default value is false, and the text lines exceeding the width will be truncated- Since:
- 4.0.0
- See Also:
isWrapText()
,setWrapText(boolean)
-
-
Method Detail
-
primaryGraphicProperty
public final ObjectProperty<Node> primaryGraphicProperty()
The property to display on the left side of the ListTile, as a full height Node.- See Also:
getPrimaryGraphic()
,setPrimaryGraphic(Node)
-
getPrimaryGraphic
public final Node getPrimaryGraphic()
Gets the value of the property primaryGraphic.- Property description:
- The property to display on the left side of the ListTile, as a full height Node.
-
setPrimaryGraphic
public final void setPrimaryGraphic(Node graphic)
Sets the value of the property primaryGraphic.- Property description:
- The property to display on the left side of the ListTile, as a full height Node.
-
textProperty
public final ObservableList<String> textProperty()
The text to display in the ListTile, each item goes on a separate line. Only the first 3 Strings are used.
-
setTextLine
public void setTextLine(int i, String v)
Set a single line of text. The other lines are unaffected. In case there is no linei
yet, empty lines will be added if necessary and linei
will be created with the supplied text.- Parameters:
i
- the index of the line (0 being the first line).v
- the text that should replace the old text, if any.
-
secondaryGraphicProperty
public final ObjectProperty<Node> secondaryGraphicProperty()
The property to display on the right side of the ListTile, as a smaller Node.- See Also:
getSecondaryGraphic()
,setSecondaryGraphic(Node)
-
getSecondaryGraphic
public final Node getSecondaryGraphic()
Gets the value of the property secondaryGraphic.- Property description:
- The property to display on the right side of the ListTile, as a smaller Node.
-
setSecondaryGraphic
public final void setSecondaryGraphic(Node graphic)
Sets the value of the property secondaryGraphic.- Property description:
- The property to display on the right side of the ListTile, as a smaller Node.
-
wrapTextProperty
public final BooleanProperty wrapTextProperty()
A boolean property that indicates whether the text lines should be wrapped onto another line or not if they exceed the width of the ListTile. The default value is false, and the text lines exceeding the width will be truncated- Since:
- 4.0.0
- See Also:
isWrapText()
,setWrapText(boolean)
-
isWrapText
public final boolean isWrapText()
Gets the value of the property wrapText.- Property description:
- A boolean property that indicates whether the text lines should be wrapped onto another line or not if they exceed the width of the ListTile. The default value is false, and the text lines exceeding the width will be truncated
- Since:
- 4.0.0
-
setWrapText
public final void setWrapText(boolean value)
Sets the value of the property wrapText.- Property description:
- A boolean property that indicates whether the text lines should be wrapped onto another line or not if they exceed the width of the ListTile. The default value is false, and the text lines exceeding the width will be truncated
- Since:
- 4.0.0
-
-