Module VirtualizedFX
Class VFXDefaultTableColumn<T,C extends VFXTableCell<T>>
java.lang.Object
javafx.scene.Node
javafx.scene.Parent
javafx.scene.layout.Region
javafx.scene.control.Control
javafx.scene.control.Labeled
io.github.palexdev.mfxcore.controls.Labeled<VFXTableColumnBehavior<T,C>>
io.github.palexdev.virtualizedfx.table.VFXTableColumn<T,C>
io.github.palexdev.virtualizedfx.table.defaults.VFXDefaultTableColumn<T,C>
- All Implemented Interfaces:
io.github.palexdev.mfxcore.behavior.WithBehavior<VFXTableColumnBehavior<T,
,C>> VFXStyleable
,WithCellFactory<T,
,C> javafx.css.Styleable
,javafx.event.EventTarget
,javafx.scene.control.Skinnable
Concrete and simple implementation of
VFXTableColumn
. Has its own skin: VFXDefaultTableColumnSkin
.
These are the features this default implementation offers:
- the iconAlignmentProperty()
allows you to specify the column's icon position
- the enableOverlayProperty()
makes the column display an extra node which can be used to indicate
selection or hovering. By default, the node is not visible; you'll have to define its style in CSS.
This behavior is defined in the default skin.
- the overlayOnHeaderProperty()
makes the aforementioned node cover the column's header too
-
Property Summary
PropertiesTypePropertyDescriptionio.github.palexdev.mfxcore.base.properties.styleable.StyleableBooleanProperty
Specifies whether the default skin should enable the overlay.javafx.css.StyleableObjectProperty
<javafx.geometry.HPos> Specifies the side on which the icon will be placed.io.github.palexdev.mfxcore.base.properties.styleable.StyleableBooleanProperty
Specifies whether the overlay should also cover the header of the column, the part where the text and the icon reside.Properties inherited from class io.github.palexdev.virtualizedfx.table.VFXTableColumn
cellsCacheCapacity, gestureResizable, index, table
Properties inherited from class io.github.palexdev.mfxcore.controls.Labeled
behaviorProvider
Properties inherited from class javafx.scene.control.Labeled
alignment, contentDisplay, ellipsisString, font, graphic, graphicTextGap, labelPadding, lineSpacing, mnemonicParsing, textAlignment, textFill, textOverrun, text, textTruncated, underline, wrapText
Properties inherited from class javafx.scene.control.Control
contextMenu, skin, tooltip
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
FieldsFields 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
ConstructorsConstructorDescriptionVFXDefaultTableColumn
(String text) VFXDefaultTableColumn
(String text, javafx.scene.Node graphic) -
Method Summary
Modifier and TypeMethodDescriptionprotected io.github.palexdev.mfxcore.controls.SkinBase
<?, ?> io.github.palexdev.mfxcore.base.properties.styleable.StyleableBooleanProperty
Specifies whether the default skin should enable the overlay.static List
<javafx.css.CssMetaData<? extends javafx.css.Styleable, ?>> List
<javafx.css.CssMetaData<? extends javafx.css.Styleable, ?>> javafx.geometry.HPos
Gets the value of theiconAlignment
property.javafx.css.StyleableObjectProperty
<javafx.geometry.HPos> Specifies the side on which the icon will be placed.boolean
Gets the value of theenableOverlay
property.boolean
Gets the value of theoverlayOnHeader
property.io.github.palexdev.mfxcore.base.properties.styleable.StyleableBooleanProperty
Specifies whether the overlay should also cover the header of the column, the part where the text and the icon reside.void
setEnableOverlay
(boolean enableOverlay) Sets the value of theenableOverlay
property.void
setIconAlignment
(javafx.geometry.HPos iconAlignment) Sets the value of theiconAlignment
property.void
setOverlayOnHeader
(boolean overlayOnHeader) Sets the value of theoverlayOnHeader
property.Methods inherited from class io.github.palexdev.virtualizedfx.table.VFXTableColumn
cache, cacheSize, cellsCacheCapacityProperty, computePrefWidth, createCache, defaultBehaviorProvider, defaultCellFactory, defaultStyleClasses, gestureResizableProperty, getCellFactory, getCellsCacheCapacity, getIndex, getTable, indexProperty, isGestureResizable, onCellFactoryChanged, populateCache, resize, setCellsCacheCapacity, setGestureResizable, setIndex, setTable, swapColumns, swapColumns, tableProperty
Methods inherited from class io.github.palexdev.mfxcore.controls.Labeled
behaviorProviderProperty, changeSkin, createDefaultSkin, getBehavior, getBehaviorProvider, sceneBuilderIntegration, setBehaviorProvider
Methods inherited from class javafx.scene.control.Labeled
alignmentProperty, contentDisplayProperty, ellipsisStringProperty, fontProperty, getAlignment, getContentBias, getContentDisplay, getEllipsisString, getFont, getGraphic, getGraphicTextGap, getInitialAlignment, getLabelPadding, getLineSpacing, getText, getTextAlignment, getTextFill, getTextOverrun, graphicProperty, graphicTextGapProperty, isMnemonicParsing, isTextTruncated, isUnderline, isWrapText, labelPaddingProperty, lineSpacingProperty, mnemonicParsingProperty, setAlignment, setContentDisplay, setEllipsisString, setFont, setGraphic, setGraphicTextGap, setLineSpacing, setMnemonicParsing, setText, setTextAlignment, setTextFill, setTextOverrun, setUnderline, setWrapText, textAlignmentProperty, textFillProperty, textOverrunProperty, textProperty, textTruncatedProperty, toString, underlineProperty, wrapTextProperty
Methods inherited from class javafx.scene.control.Control
computeMaxHeight, computeMaxWidth, computeMinHeight, computeMinWidth, computePrefHeight, contextMenuProperty, executeAccessibleAction, getBaselineOffset, getContextMenu, getCssMetaData, getInitialFocusTraversable, getSkin, getTooltip, isResizable, layoutChildren, queryAccessibleAttribute, setContextMenu, setSkin, setTooltip, skinProperty, tooltipProperty
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 class javafx.scene.Parent
getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, 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, fireEvent, focusedProperty, focusTraversableProperty, focusVisibleProperty, focusWithinProperty, 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, 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, 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
Methods inherited from interface io.github.palexdev.mfxcore.behavior.WithBehavior
setDefaultBehaviorProvider
Methods inherited from interface io.github.palexdev.virtualizedfx.base.WithCellFactory
create, setCellFactory
-
Property Details
-
iconAlignment
public javafx.css.StyleableObjectProperty<javafx.geometry.HPos> iconAlignmentPropertySpecifies the side on which the icon will be placed. By setting the alignment toHPos.CENTER
the default skin,VFXDefaultTableColumnSkin
, will hide the text and show only the icon at the center. This is settable via CSS with the "-vfx-icon-alignment" property.- See Also:
-
enableOverlay
public io.github.palexdev.mfxcore.base.properties.styleable.StyleableBooleanProperty enableOverlayPropertySpecifies whether the default skin should enable the overlay.VFXTable
is organized by rows. This means that by default, there is no way in the UI to display when a column is selected or hovered by the mouse. The default skin allows to do this by adding an extra node that extends from the column all the way down to the table's bottom. This allows doing cool tricks with CSS. One thing to keep in mind, though, is that if you define a background color for the overlay, make sure that it is opaque otherwise it will end up covering the cells. This is also settable via CSS with the "-vfx-enable-overlay" property.- See Also:
-
overlayOnHeader
public io.github.palexdev.mfxcore.base.properties.styleable.StyleableBooleanProperty overlayOnHeaderPropertySpecifies whether the overlay should also cover the header of the column, the part where the text and the icon reside. This is also settable via CSS with the "-vfx-overlay-on-header" property.- See Also:
-
-
Field Details
-
DRAGGED
public static final javafx.css.PseudoClass DRAGGED
-
-
Constructor Details
-
VFXDefaultTableColumn
public VFXDefaultTableColumn() -
VFXDefaultTableColumn
-
VFXDefaultTableColumn
-
-
Method Details
-
buildSkin
protected io.github.palexdev.mfxcore.controls.SkinBase<?,?> buildSkin()- Specified by:
buildSkin
in classio.github.palexdev.mfxcore.controls.Labeled<VFXTableColumnBehavior<T,
C extends VFXTableCell<T>>>
-
getIconAlignment
public javafx.geometry.HPos getIconAlignment()Gets the value of theiconAlignment
property.- Property description:
- Specifies the side on which the icon will be placed.
By setting the alignment to
HPos.CENTER
the default skin,VFXDefaultTableColumnSkin
, will hide the text and show only the icon at the center. This is settable via CSS with the "-vfx-icon-alignment" property. - Returns:
- the value of the
iconAlignment
property - See Also:
-
iconAlignmentProperty
public javafx.css.StyleableObjectProperty<javafx.geometry.HPos> iconAlignmentProperty()Specifies the side on which the icon will be placed. By setting the alignment toHPos.CENTER
the default skin,VFXDefaultTableColumnSkin
, will hide the text and show only the icon at the center. This is settable via CSS with the "-vfx-icon-alignment" property.- Returns:
- the
iconAlignment
property - See Also:
-
setIconAlignment
public void setIconAlignment(javafx.geometry.HPos iconAlignment) Sets the value of theiconAlignment
property.- Property description:
- Specifies the side on which the icon will be placed.
By setting the alignment to
HPos.CENTER
the default skin,VFXDefaultTableColumnSkin
, will hide the text and show only the icon at the center. This is settable via CSS with the "-vfx-icon-alignment" property. - Parameters:
iconAlignment
- the value for theiconAlignment
property- See Also:
-
isEnableOverlay
public boolean isEnableOverlay()Gets the value of theenableOverlay
property.- Property description:
- Specifies whether the default skin should enable the overlay.
VFXTable
is organized by rows. This means that by default, there is no way in the UI to display when a column is selected or hovered by the mouse. The default skin allows to do this by adding an extra node that extends from the column all the way down to the table's bottom. This allows doing cool tricks with CSS. One thing to keep in mind, though, is that if you define a background color for the overlay, make sure that it is opaque otherwise it will end up covering the cells. This is also settable via CSS with the "-vfx-enable-overlay" property. - Returns:
- the value of the
enableOverlay
property - See Also:
-
enableOverlayProperty
public io.github.palexdev.mfxcore.base.properties.styleable.StyleableBooleanProperty enableOverlayProperty()Specifies whether the default skin should enable the overlay.VFXTable
is organized by rows. This means that by default, there is no way in the UI to display when a column is selected or hovered by the mouse. The default skin allows to do this by adding an extra node that extends from the column all the way down to the table's bottom. This allows doing cool tricks with CSS. One thing to keep in mind, though, is that if you define a background color for the overlay, make sure that it is opaque otherwise it will end up covering the cells. This is also settable via CSS with the "-vfx-enable-overlay" property.- Returns:
- the
enableOverlay
property - See Also:
-
setEnableOverlay
public void setEnableOverlay(boolean enableOverlay) Sets the value of theenableOverlay
property.- Property description:
- Specifies whether the default skin should enable the overlay.
VFXTable
is organized by rows. This means that by default, there is no way in the UI to display when a column is selected or hovered by the mouse. The default skin allows to do this by adding an extra node that extends from the column all the way down to the table's bottom. This allows doing cool tricks with CSS. One thing to keep in mind, though, is that if you define a background color for the overlay, make sure that it is opaque otherwise it will end up covering the cells. This is also settable via CSS with the "-vfx-enable-overlay" property. - Parameters:
enableOverlay
- the value for theenableOverlay
property- See Also:
-
isOverlayOnHeader
public boolean isOverlayOnHeader()Gets the value of theoverlayOnHeader
property.- Property description:
- Specifies whether the overlay should also cover the header of the column, the part where the text and the icon reside. This is also settable via CSS with the "-vfx-overlay-on-header" property.
- Returns:
- the value of the
overlayOnHeader
property - See Also:
-
overlayOnHeaderProperty
public io.github.palexdev.mfxcore.base.properties.styleable.StyleableBooleanProperty overlayOnHeaderProperty()Specifies whether the overlay should also cover the header of the column, the part where the text and the icon reside. This is also settable via CSS with the "-vfx-overlay-on-header" property.- Returns:
- the
overlayOnHeader
property - See Also:
-
setOverlayOnHeader
public void setOverlayOnHeader(boolean overlayOnHeader) Sets the value of theoverlayOnHeader
property.- Property description:
- Specifies whether the overlay should also cover the header of the column, the part where the text and the icon reside. This is also settable via CSS with the "-vfx-overlay-on-header" property.
- Parameters:
overlayOnHeader
- the value for theoverlayOnHeader
property- See Also:
-
getControlCssMetaData
- Overrides:
getControlCssMetaData
in classVFXTableColumn<T,
C extends VFXTableCell<T>>
-
getClassCssMetaData
-