[114:7] extends: Control
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.
| Pseudo-class | Description |
|---|---|
cell-selection |
Applies when cell selection mode is active. |
row-selection |
Applies when row selection mode is active. |
| 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. |
| 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.) |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
| 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. |
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.
Val Val is either a list of columns to initialize or null for an empty table.this objectsetColumns (list Cols)
Sets the columns for the TableView. Each column in the list should include display and column name information.
Cols Cols is a list of column objects to add to the table.this object for chainingsetItems (list Rows)
Sets the rows for the TableView.
Rows Rows is a list of row data to populate the table.voidonChange (callback OnChange)
Sets a callback function that triggers when the selected item changes.
OnChange The callback function for the selection change event.this object for chaininggetSelected ()
Retrieves the currently selected item in the TableView.
The selected item object, or null if no item is selected.getSelectedIndex ()
Returns the index of the currently selected row.
An int with the selected row index, or -1 if nothing is selected.getSelectedRow ()
Returns the entire selected row as a map or object.
The selected row object, or null if nothing is selected.setPrefSize (double Width, double Height)
Sets the preferred width and height of the TableView.
Width is a double with the preferred width in pixels.Height is a double with the preferred height in pixels.this object for chainingsetId (string Id)
Sets the CSS id of this TableView node.
Id is a string with the CSS id.this object for chainingsetColumnResizePolicy (string Policy)
Sets the column resize policy for the TableView.
Policy is a string: CONSTRAINED_RESIZE_POLICY or UNCONSTRAINED_RESIZE_POLICY.this object for chainingsetPlaceholder (object NodeObj)
Sets a placeholder node to display when the TableView has no items.
NodeObj is a Node object to use as the placeholder.this object for chainingsetFixedCellSize (double Size)
Sets a fixed height in pixels for every row cell in the TableView.
Size is a double with the fixed cell size, or -1 to use computed sizes.this object for chainingitemsProperty ()
Returns the items ObjectProperty for binding.
An AJO around the ObjectProperty<ObservableListgetItems ()
Returns the ObservableList of row items in the TableView.
An AJO around the ObservableListtableMenuButtonVisibleProperty ()
Returns the tableMenuButtonVisible BooleanProperty for binding.
An AJO around the BooleanProperty.setTableMenuButtonVisible (bool Value)
Sets whether the table menu button is visible.
Value is a bool with true to show the menu button.this object for chainingisTableMenuButtonVisible ()
Returns whether the table menu button is visible.
A bool with true if the menu button is shown.getColumnResizePolicy ()
Returns the current column resize policy callback.
An AJO around the Callback.columnResizePolicyProperty ()
Returns the columnResizePolicy ObjectProperty for binding.
An AJO around the ObjectProperty.setRowFactory (callback Factory)
Sets a callback that creates each TableRow.
Factory is a callback that receives a TableView and returns a TableRow.this object for chainingplaceholderProperty ()
Returns the placeholder ObjectProperty for binding.
An AJO around the ObjectPropertygetPlaceholder ()
Returns the current placeholder node shown when the table is empty.
An AJO around the Node, or null.selectionModelProperty ()
Returns the selectionModel ObjectProperty for binding.
An AJO around the ObjectProperty.setSelectionModel (object Model)
Sets the selection model for the TableView.
Model is an AJO around a TableView.TableViewSelectionModel.this object for chainingsetFocusModel (object Model)
Sets the focus model for the TableView.
Model is an AJO around a TableView.TableViewFocusModel.this object for chainingfocusModelProperty ()
Returns the focusModel ObjectProperty for binding.
An AJO around the ObjectProperty.setEditable (bool Value)
Sets whether the table is editable.
Value is a bool with true to allow cell editing.this object for chainingisEditable ()
Returns whether the table is editable.
A bool with true if editable.editableProperty ()
Returns the editable BooleanProperty for binding.
An AJO around the BooleanProperty.getFixedCellSize ()
Returns the current fixed cell size.
A double with the fixed cell size in pixels.fixedCellSizeProperty ()
Returns the fixedCellSize DoubleProperty for binding.
An AJO around the DoubleProperty.getEditingCell ()
Returns the cell position currently being edited.
An AJO around the TablePosition, or null.editingCellProperty ()
Returns the editingCell ReadOnlyObjectProperty for binding.
An AJO around the ReadOnlyObjectProperty.getComparator ()
Returns the comparator used to sort the table rows.
An AJO around the Comparator.comparatorProperty ()
Returns the comparator ReadOnlyObjectProperty for binding.
An AJO around the ReadOnlyObjectProperty.setSortPolicy (callback Policy)
Sets a callback that performs sorting on the table.
Policy is a callback that receives a TableView and returns a Boolean.this object for chainingsetOnSort (callback Cb)
Sets a callback that fires when the table is sorted.
Cb is a callback receiving a SortEvent.this object for chaininggetOnSort ()
Returns the current on-sort event handler.
An AJO around the EventHandler, or null.onSortProperty ()
Returns the onSort ObjectProperty for binding.
An AJO around the ObjectProperty.getColumns ()
Returns the ObservableList of columns in the TableView.
An AJO around the ObservableListgetSortOrder ()
Returns the ObservableList of columns that participate in sorting.
An AJO around the ObservableListscrollTo (int Index)
Scrolls the table so the row at the given index is visible.
Index is an int with the row index.this object for chainingsetOnScrollTo (callback Cb)
Sets a callback that fires when scrollTo(int) is called.
Cb is a callback receiving a ScrollToEvent.this object for chaininggetOnScrollTo ()
Returns the current on-scrollTo event handler.
An AJO around the EventHandler, or null.onScrollToProperty ()
Returns the onScrollTo ObjectProperty for binding.
An AJO around the ObjectProperty.scrollToColumn (object Col)
Scrolls the table so the given column is visible.
Col is an AJO around a TableColumn.this object for chainingscrollToColumnIndex (int Index)
Scrolls the table so the column at the given index is visible.
Index is an int with the column index.this object for chainingsetOnScrollToColumn (callback Cb)
Sets a callback that fires when scrollToColumn is called.
Cb is a callback receiving a ScrollToEvent.this object for chaininggetOnScrollToColumn ()
Returns the current on-scrollToColumn event handler.
An AJO around the EventHandler, or null.onScrollToColumnProperty ()
Returns the onScrollToColumn ObjectProperty for binding.
An AJO around the ObjectProperty.resizeColumn (object Col, double Delta)
Resizes the given column by the specified delta width.
Col is an AJO around a TableColumn.Delta is a double with the width change in pixels.A bool with true if the resize succeeded.edit (int Row, object Col)
Starts editing the cell at the given row index and column.
Row is an int with the row index.Col is an AJO around the TableColumn.this object for chaininggetVisibleLeafColumns ()
Returns the ObservableList of currently visible leaf columns.
An AJO around the ObservableListgetVisibleLeafIndex (object Col)
Returns the index of the given column within the visible leaf columns.
Col is an AJO around a TableColumn.An int with the index, or -1 if not visible.getVisibleLeafColumn (int Index)
Returns the visible leaf column at the given index.
Index is an int with the column index.An AJO around the TableColumn, or null.sort ()
Sorts the table rows using the current sort order and comparator.
this object for chainingrefresh ()
Refreshes the table so all visible cells are redrawn.
this object for chaininggetControlCssMetaData ()
Returns the CSS metadata for this control's styleable properties.
A list of CssMetaData entries.getSelectionModel ()
Internal method to get the selection model for the TableView.
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.
Param Param is an object passed to retrieve column and row information.A wrapper containing the value for the requested cell.