Basics

Guides

API Reference

Menu

Basics

Guides

API Reference

class: TableView

[112:7] extends: Node, Control, Region

The TableView class wraps the JavaFX TableView control, which displays data in a grid of rows and columns with sortable, resizable column headers. Each column is defined by a TableColumn that specifies the header label and a cell value factory that extracts the display value from each row object. TableView supports both row-based and cell-based selection modes, and exposes selection-change listeners for reacting when the user picks a row or cell. The tables below list every CSS property available to TableView, organized by the class level where each property is defined.

CSS Pseudo-classes -- TableView

Pseudo-class Description
cell-selection Applies when cell selection mode is active.
row-selection Applies when row selection mode is active.

CSS Properties -- TableView

Property Values Default Description
-fx-fixed-cell-size <size> -1 A value greater than zero sets a fixed cell size; -1 disables it and uses computed sizes.

CSS Properties -- Control

Property Values Default Description
-fx-skin <string> null Fully qualified class name of the Skin to use for rendering this control.
-fx-focus-traversable true | false true When true, the control participates in focus traversal via the keyboard Tab key. (Default is false for Accordion, ScrollPane.)

CSS Properties -- Region

Background fills

Property Values Default Description
-fx-background-color <paint> [, <paint>]* transparent One or more paint values for background fill layers, rendered back to front.
-fx-background-insets <size> or <t> <r> <b> <l> [, ...]* 0 0 0 0 Insets from the region edges for each background fill layer.
-fx-background-radius <size> [/ <size>]* [, ...]* 0 0 0 0 Corner radii for each background fill layer.

Background images

Property Values Default Description
-fx-background-image <uri> [, <uri>]* null One or more image URIs for background image layers.
-fx-background-position <bg-position> [, ...]* 0% 0% Position of each background image within the region. Accepts keywords or size values.
-fx-background-repeat <repeat-style> [, ...]* repeat repeat Tiling behavior for each background image. Values: repeat, no-repeat, round, space applied per axis.
-fx-background-size <bg-size> [, ...]* auto auto Dimensions for each background image. Supports cover, contain, stretch, or explicit sizes.

Stroked borders

Property Values Default Description
-fx-border-color <paint> or <t> <r> <b> <l> [, ...]* null Paint colors for the border stroke layers.
-fx-border-insets <size> or <t> <r> <b> <l> [, ...]* null Insets from region edges for each border layer.
-fx-border-radius <size> [, ...]* null Corner radii for border stroke layers.
-fx-border-style <border-style> [, ...]* null Border line style (solid, dotted, dashed) plus phase and line cap/join options per layer.
-fx-border-width <size> or <t> <r> <b> <l> [, ...]* null Thickness of each border stroke layer, per side.

Border images

Property Values Default Description
-fx-border-image-source <uri> [, <uri>]* null Image URIs used to paint the border.
-fx-border-image-insets <size> or <t> <r> <b> <l> [, ...]* 0 0 0 0 Insets for each border image layer.
-fx-border-image-repeat <repeat-style> [, ...]* repeat repeat Tiling behavior for each border image.
-fx-border-image-slice <size> or <t> <r> <b> <l> [fill] [, ...]* 100% Divides each border image into nine regions. Adding fill preserves the center region.
-fx-border-image-width <size> or <t> <r> <b> <l> [, ...]* 1 1 1 1 Width of each border image slice per side.

Other Region properties

Property Values Default Description
-fx-padding <size> or <t> <r> <b> <l> 0 0 0 0 Interior padding between the region border and its content.
-fx-shape <string> null SVG path string that defines a custom clip shape for the region.
-fx-scale-shape true | false true When true, the shape is scaled to fit the region.
-fx-position-shape true | false true When true, the shape is centered within the region.
-fx-snap-to-pixel true | false true When true, positions and sizes are rounded to whole pixel boundaries.
-fx-min-width <size> -1 Minimum width. -1 uses the computed minimum.
-fx-pref-width <size> -1 Preferred width. -1 uses the computed preferred.
-fx-max-width <size> -1 Maximum width. -1 uses the computed maximum.
-fx-min-height <size> -1 Minimum height. -1 uses the computed minimum.
-fx-pref-height <size> -1 Preferred height. -1 uses the computed preferred.
-fx-max-height <size> -1 Maximum height. -1 uses the computed maximum.

CSS Properties -- Node

Property Values Default Description
-fx-blend-mode add | blue | color-burn | color-dodge | darken | difference | exclusion | green | hard-light | lighten | multiply | overlay | red | screen | soft-light | src-atop | src-in | src-out | src-over null Blend mode used when compositing this node with nodes beneath it.
-fx-cursor null | crosshair | default | hand | move | e-resize | h-resize | ne-resize | nw-resize | n-resize | se-resize | sw-resize | s-resize | w-resize | v-resize | text | wait | <url> null (inherits) Mouse cursor shape shown when the pointer is over this node. Inherits from parent by default.
-fx-effect <effect> null A visual effect (e.g. DropShadow, InnerShadow) applied to the rendered node.
-fx-focus-traversable true | false false Whether this node participates in focus traversal. Overridden to true by Control.
-fx-view-order <number> 0 Adjusts rendering and hit-test order within the parent without changing the scene graph order.
-fx-opacity <number> [0.0 - 1.0] 1 Opacity of the node. 0 is fully transparent, 1 is fully opaque.
-fx-rotate <number> 0 Rotation angle in degrees applied around the node's center point. Positive values are clockwise.
-fx-scale-x <number> 1 Scale factor along the X axis about the node's center.
-fx-scale-y <number> 1 Scale factor along the Y axis about the node's center.
-fx-scale-z <number> 1 Scale factor along the Z axis about the node's center.
-fx-translate-x <number> 0 Translation offset along the X axis in pixels.
-fx-translate-y <number> 0 Translation offset along the Y axis in pixels.
-fx-translate-z <number> 0 Translation offset along the Z axis in pixels.
visibility visible | hidden | collapse | inherit visible Controls whether the node is rendered and participates in layout. collapse removes it from layout; hidden keeps the space.
-fx-managed true | false true When false, the parent layout does not manage this node's position or size.

Members

  • cols

Methods

  • TableView (Val = null)

    Initializes a new TableView instance with optional columns. If a list of columns is provided, they are set as the initial columns.

    • @p Val Val is either a list of columns to initialize or null for an empty table.
    • @r this object
  • setColumns (list Cols)

    Sets the columns for the TableView. Each column in the list should include display and column name information.

    • @p Cols Cols is a list of column objects to add to the table.
    • @r this object for chaining
  • setItems (list Rows)

    Sets the rows for the TableView.

    • @p Rows Rows is a list of row data to populate the table.
    • @r void
  • onChange (callback OnChange)

    Sets a callback function that triggers when the selected item changes.

    • @p OnChange The callback function for the selection change event.
    • @r this object for chaining
  • getSelected ()

    Retrieves the currently selected item in the TableView.

    • @r The selected item object, or null if no item is selected.
  • getSelectedIndex ()

    Returns the index of the currently selected row.

    • @r An int with the selected row index, or -1 if nothing is selected.
  • getSelectedRow ()

    Returns the entire selected row as a map or object.

    • @r The selected row object, or null if nothing is selected.
  • setPrefSize (double Width, double Height)

    Sets the preferred width and height of the TableView.

    • @p Width is a double with the preferred width in pixels.
    • @p Height is a double with the preferred height in pixels.
    • @r this object for chaining
  • setId (string Id)

    Sets the CSS id of this TableView node.

    • @p Id is a string with the CSS id.
    • @r this object for chaining
  • setColumnResizePolicy (string Policy)

    Sets the column resize policy for the TableView.

    • @p Policy is a string: CONSTRAINED_RESIZE_POLICY or UNCONSTRAINED_RESIZE_POLICY.
    • @r this object for chaining
  • setPlaceholder (object NodeObj)

    Sets a placeholder node to display when the TableView has no items.

    • @p NodeObj is a Node object to use as the placeholder.
    • @r this object for chaining
  • setFixedCellSize (double Size)

    Sets a fixed height in pixels for every row cell in the TableView.

    • @p Size is a double with the fixed cell size, or -1 to use computed sizes.
    • @r this object for chaining
  • getSelectionModel ()

    Internal method to get the selection model for the TableView.

    • @r The selection model for managing item selection.
  • onCellValueFactoryCall (Param)

    Internal method for handling cell value factory calls for columns. This method provides cell data based on row values and column names.

    • @p Param Param is an object passed to retrieve column and row information.
    • @r A wrapper containing the value for the requested cell.