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.StyleableBooleanPropertySpecifies 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.StyleableBooleanPropertySpecifies 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, tableProperties inherited from class io.github.palexdev.mfxcore.controls.Labeled
behaviorProviderProperties inherited from class javafx.scene.control.Labeled
alignment, contentDisplay, ellipsisString, font, graphic, graphicTextGap, labelPadding, lineSpacing, mnemonicParsing, textAlignment, textFill, textOverrun, text, textTruncated, underline, wrapTextProperties inherited from class javafx.scene.control.Control
contextMenu, skin, tooltipProperties inherited from class javafx.scene.layout.Region
background, border, cacheShape, centerShape, height, insets, maxHeight, maxWidth, minHeight, minWidth, opaqueInsets, padding, prefHeight, prefWidth, scaleShape, shape, snapToPixel, widthProperties inherited from class javafx.scene.Parent
needsLayoutProperties 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_SIZEFields 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.StyleableBooleanPropertySpecifies 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.HPosGets the value of theiconAlignmentproperty.javafx.css.StyleableObjectProperty<javafx.geometry.HPos> Specifies the side on which the icon will be placed.booleanGets the value of theenableOverlayproperty.booleanGets the value of theoverlayOnHeaderproperty.io.github.palexdev.mfxcore.base.properties.styleable.StyleableBooleanPropertySpecifies whether the overlay should also cover the header of the column, the part where the text and the icon reside.voidsetEnableOverlay(boolean enableOverlay) Sets the value of theenableOverlayproperty.voidsetIconAlignment(javafx.geometry.HPos iconAlignment) Sets the value of theiconAlignmentproperty.voidsetOverlayOnHeader(boolean overlayOnHeader) Sets the value of theoverlayOnHeaderproperty.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, tablePropertyMethods inherited from class io.github.palexdev.mfxcore.controls.Labeled
behaviorProviderProperty, changeSkin, createDefaultSkin, getBehavior, getBehaviorProvider, sceneBuilderIntegration, setBehaviorProviderMethods 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, wrapTextPropertyMethods 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, tooltipPropertyMethods 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, widthPropertyMethods inherited from class javafx.scene.Parent
getChildren, getChildrenUnmodifiable, getManagedChildren, getStylesheets, isNeedsLayout, layout, lookup, needsLayoutProperty, requestLayout, requestParentLayout, setNeedsLayout, updateBoundsMethods 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, visiblePropertyMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface javafx.css.Styleable
getStyleableNodeMethods inherited from interface io.github.palexdev.virtualizedfx.base.VFXStyleable
setDefaultStyleClassesMethods inherited from interface io.github.palexdev.mfxcore.behavior.WithBehavior
setDefaultBehaviorProviderMethods 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.CENTERthe 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.VFXTableis 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:
buildSkinin classio.github.palexdev.mfxcore.controls.Labeled<VFXTableColumnBehavior<T,C extends VFXTableCell<T>>>
-
getIconAlignment
public javafx.geometry.HPos getIconAlignment()Gets the value of theiconAlignmentproperty.- Property description:
- Specifies the side on which the icon will be placed.
By setting the alignment to
HPos.CENTERthe 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
iconAlignmentproperty - 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.CENTERthe 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
iconAlignmentproperty - See Also:
-
setIconAlignment
public void setIconAlignment(javafx.geometry.HPos iconAlignment) Sets the value of theiconAlignmentproperty.- Property description:
- Specifies the side on which the icon will be placed.
By setting the alignment to
HPos.CENTERthe 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 theiconAlignmentproperty- See Also:
-
isEnableOverlay
public boolean isEnableOverlay()Gets the value of theenableOverlayproperty.- Property description:
- Specifies whether the default skin should enable the overlay.
VFXTableis 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
enableOverlayproperty - See Also:
-
enableOverlayProperty
public io.github.palexdev.mfxcore.base.properties.styleable.StyleableBooleanProperty enableOverlayProperty()Specifies whether the default skin should enable the overlay.VFXTableis 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
enableOverlayproperty - See Also:
-
setEnableOverlay
public void setEnableOverlay(boolean enableOverlay) Sets the value of theenableOverlayproperty.- Property description:
- Specifies whether the default skin should enable the overlay.
VFXTableis 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 theenableOverlayproperty- See Also:
-
isOverlayOnHeader
public boolean isOverlayOnHeader()Gets the value of theoverlayOnHeaderproperty.- 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
overlayOnHeaderproperty - 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
overlayOnHeaderproperty - See Also:
-
setOverlayOnHeader
public void setOverlayOnHeader(boolean overlayOnHeader) Sets the value of theoverlayOnHeaderproperty.- 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 theoverlayOnHeaderproperty- See Also:
-
getControlCssMetaData
- Overrides:
getControlCssMetaDatain classVFXTableColumn<T,C extends VFXTableCell<T>>
-
getClassCssMetaData
-