- Type Parameters:
S
- The type of the UI control (e.g. the type of the 'row').T
- The type of the content in all cells in this table column.
- All Implemented Interfaces:
Styleable
,EventTarget
- Direct Known Subclasses:
TableColumn
,TreeTableColumn
TableView
and TreeTableView
) are
made up of zero or more instances of a concrete TableColumnBase subclass
(TableColumn
and TreeTableColumn
, respectively). Each
table column in a table is responsible for displaying (and editing) the contents
of that column. As well as being responsible for displaying and editing data
for a single column, a table column also contains the necessary properties to:
- Be resized (using
minWidth
/prefWidth
/maxWidth
andwidth
properties) - Have its
visibility
toggled - Display
header text
- Display any
nested columns
it may contain - Have a
context menu
when the user right-clicks the column header area - Have the contents of the table be sorted (using
comparator
,sortable
and sortType).
text
(what to show in the column header area), and the column
cell value factory
(which is used to populate individual cells in the
column). Refer to the class documentation for TableColumn
and
TreeTableColumn
for more information.- Since:
- JavaFX 8.0
- See Also:
-
Property Summary
TypePropertyDescriptionfinal ObjectProperty<Comparator<T>>
Comparator function used when sorting this table column.final ObjectProperty<ContextMenu>
This menu will be shown whenever the user right clicks within the header area of this TableColumnBase.final BooleanProperty
Specifies whether this table column allows editing.final ObjectProperty<Node>
The graphic to show in the table column to allow the user to indicate graphically what is in the column.final StringProperty
The id of this TableColumnBase.final DoubleProperty
The maximum width the table column is permitted to be resized to.final DoubleProperty
The minimum width the table column is permitted to be resized to.final ReadOnlyObjectProperty<TableColumnBase<S,
?>> This read-only property will always refer to the parent of this column, in the situation where nested columns are being used.final DoubleProperty
The preferred width of the TableColumn.final BooleanProperty
A boolean property to toggle on and off the 'reorderability' of this column (with drag and drop - reordering by modifying the appropriatecolumns
list is always allowed).final BooleanProperty
Used to indicate whether the width of this column can change.final BooleanProperty
A boolean property to toggle on and off the 'sortability' of this column.final ObjectProperty<Node>
The node to use as the "sort arrow", shown to the user in situations where the table column is part of the sort order.final StringProperty
A string representation of the CSS style associated with this TableColumnBase instance.final StringProperty
This is the text to show in the header for this column.final BooleanProperty
Toggling this will immediately toggle the visibility of this column, and all children columns.final ReadOnlyDoubleProperty
The width of this column. -
Field Summary
Modifier and TypeFieldDescriptionstatic final Comparator
By default all columns will use this comparator to perform sorting. -
Constructor Summary
ModifierConstructorDescriptionprotected
Creates a default TableColumn with default cell factory, comparator, and onEditCommit implementation.protected
TableColumnBase
(String text) Creates a TableColumn with the text set to the provided string, with default cell factory, comparator, and onEditCommit implementation. -
Method Summary
Modifier and TypeMethodDescription<E extends Event>
voidaddEventHandler
(EventType<E> eventType, EventHandler<E> eventHandler) Registers an event handler to this table column.Construct an event dispatch chain for this target.final ObjectProperty<Comparator<T>>
Comparator function used when sorting this table column.final ObjectProperty<ContextMenu>
This menu will be shown whenever the user right clicks within the header area of this TableColumnBase.final BooleanProperty
Specifies whether this table column allows editing.final T
getCellData
(int index) Returns the actual value for a cell at a given row index (and which belongs to this table column).final T
getCellData
(S item) Returns the actual value for a cell from the given item.abstract ObservableValue<T>
getCellObservableValue
(int index) Attempts to return an ObservableValue<T> for the item in the given index (which is of type S).abstract ObservableValue<T>
getCellObservableValue
(S item) Attempts to return an ObservableValue<T> for the given item (which is of type S).abstract ObservableList<? extends TableColumnBase<S,
?>> This enables support for nested columns, which can be useful to group together related data.final Comparator<T>
Gets the value of thecomparator
property.final ContextMenu
Gets the value of thecontextMenu
property.final Node
Gets the value of thegraphic
property.final String
getId()
Gets the value of theid
property.final double
Gets the value of themaxWidth
property.final double
Gets the value of theminWidth
property.final TableColumnBase<S,
?> Gets the value of theparentColumn
property.final double
Gets the value of theprefWidth
property.final ObservableMap<Object,
Object> Returns an observable map of properties on this table column for use primarily by application developers.final ObservableSet<PseudoClass>
Return the pseudo-class state of this Styleable.final Node
Gets the value of thesortNode
property.final String
getStyle()
Gets the value of thestyle
property.A list of String identifiers which can be used to logically group Nodes, specifically for an external style engine.final String
getText()
Gets the value of thetext
property.Returns a previously set Object property, or null if no such property has been set using thesetUserData(java.lang.Object)
method.final double
getWidth()
Gets the value of thewidth
property.final ObjectProperty<Node>
The graphic to show in the table column to allow the user to indicate graphically what is in the column.boolean
Tests if this table column has properties.final StringProperty
The id of this TableColumnBase.final boolean
Gets the value of theeditable
property.final boolean
Gets the value of thereorderable
property.final boolean
Gets the value of theresizable
property.final boolean
Gets the value of thesortable
property.final boolean
Gets the value of thevisible
property.final DoubleProperty
The maximum width the table column is permitted to be resized to.final DoubleProperty
The minimum width the table column is permitted to be resized to.final ReadOnlyObjectProperty<TableColumnBase<S,
?>> This read-only property will always refer to the parent of this column, in the situation where nested columns are being used.final DoubleProperty
The preferred width of the TableColumn.<E extends Event>
voidremoveEventHandler
(EventType<E> eventType, EventHandler<E> eventHandler) Unregisters a previously registered event handler from this table column.final BooleanProperty
A boolean property to toggle on and off the 'reorderability' of this column (with drag and drop - reordering by modifying the appropriatecolumns
list is always allowed).final BooleanProperty
Used to indicate whether the width of this column can change.final void
setComparator
(Comparator<T> value) Sets the value of thecomparator
property.final void
setContextMenu
(ContextMenu value) Sets the value of thecontextMenu
property.final void
setEditable
(boolean value) Sets the value of theeditable
property.final void
setGraphic
(Node value) Sets the value of thegraphic
property.final void
Sets the value of theid
property.final void
setMaxWidth
(double value) Sets the value of themaxWidth
property.final void
setMinWidth
(double value) Sets the value of theminWidth
property.final void
setPrefWidth
(double value) Sets the value of theprefWidth
property.final void
setReorderable
(boolean value) Sets the value of thereorderable
property.final void
setResizable
(boolean value) Sets the value of theresizable
property.final void
setSortable
(boolean value) Sets the value of thesortable
property.final void
setSortNode
(Node value) Sets the value of thesortNode
property.final void
Sets the value of thestyle
property.final void
Sets the value of thetext
property.void
setUserData
(Object value) Convenience method for setting a single Object property that can be retrieved at a later date.final void
setVisible
(boolean value) Sets the value of thevisible
property.final BooleanProperty
A boolean property to toggle on and off the 'sortability' of this column.final ObjectProperty<Node>
The node to use as the "sort arrow", shown to the user in situations where the table column is part of the sort order.final StringProperty
A string representation of the CSS style associated with this TableColumnBase instance.final StringProperty
This is the text to show in the header for this column.final BooleanProperty
Toggling this will immediately toggle the visibility of this column, and all children columns.final ReadOnlyDoubleProperty
The width of this column.Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods declared in interface javafx.css.Styleable
getCssMetaData, getStyleableNode, getStyleableParent, getTypeSelector
-
Property Details
-
text
This is the text to show in the header for this column.- See Also:
-
visible
Toggling this will immediately toggle the visibility of this column, and all children columns.- See Also:
-
parentColumn
This read-only property will always refer to the parent of this column, in the situation where nested columns are being used.In the currently existing subclasses, to create a nested column is simply a matter of placing the relevant TableColumnBase instances inside the columns ObservableList (for example, see
TableColumn.getColumns()
andTreeTableColumn.getColumns()
.- See Also:
-
contextMenu
This menu will be shown whenever the user right clicks within the header area of this TableColumnBase. -
id
The id of this TableColumnBase. This simple string identifier is useful for finding a specific TableColumnBase within a UI control that uses TableColumnBase instances. The default value isnull
.- Default value:
- null
- See Also:
-
style
A string representation of the CSS style associated with this TableColumnBase instance. This is analogous to the "style" attribute of an HTML element. Note that, like the HTML style attribute, this variable contains style properties and values and not the selector portion of a style rule.Parsing this style might not be supported on some limited platforms. It is recommended to use a standalone CSS file instead.
- Default value:
- empty string
- See Also:
-
graphic
The graphic to show in the table column to allow the user to indicate graphically what is in the column.
- See Also:
-
sortNode
The node to use as the "sort arrow", shown to the user in situations where the table column is part of the sort order. It may be the only item in the sort order, or it may be a secondary, tertiary, or latter sort item, and the node should reflect this visually. This is only used in the case of the table column being in the sort order (refer to, for example,
TableView.getSortOrder()
andTreeTableView.getSortOrder()
). If not specified, the table column skin implementation is responsible for providing a default sort node.The sort node is commonly seen represented as a triangle that rotates on screen to indicate whether the table column is part of the sort order, and if so, whether the sort is ascending or descending, and what position in the sort order it is in.
- See Also:
-
width
The width of this column. Modifying this will result in the column width adjusting visually. It is recommended to not bind this property to an external property, as that will result in the column width not being adjustable by the user through dragging the left and right borders of column headers.- See Also:
-
minWidth
The minimum width the table column is permitted to be resized to. -
prefWidth
The preferred width of the TableColumn. -
maxWidth
The maximum width the table column is permitted to be resized to. -
resizable
Used to indicate whether the width of this column can change. It is up to the resizing policy to enforce this however. -
sortable
A boolean property to toggle on and off the 'sortability' of this column. When this property is true, this column can be included in sort operations. If this property is false, it will not be included in sort operations, even if it is contained within the sort order list of the underlying UI control (e.g.
TableView.getSortOrder()
orTreeTableView.getSortOrder()
).For example, iIf a TableColumn instance is contained within the TableView sortOrder ObservableList, and its sortable property toggles state, it will force the TableView to perform a sort, as it is likely the view will need updating.
-
reorderable
A boolean property to toggle on and off the 'reorderability' of this column (with drag and drop - reordering by modifying the appropriatecolumns
list is always allowed). When this property is true, this column can be reordered by users simply by dragging and dropping the columns into their desired positions. When this property is false, this ability to drag and drop columns is not available.- Since:
- 9
- See Also:
-
comparator
Comparator function used when sorting this table column. The two Objects given as arguments are the cell data for two individual cells in this column. -
editable
Specifies whether this table column allows editing. This, unlikeTableView.editableProperty()
andTreeTableView.editableProperty()
, is true by default.
-
-
Field Details
-
DEFAULT_COMPARATOR
By default all columns will use this comparator to perform sorting. This comparator simply performs null checks, and checks if the object isComparable
. If it is, theComparable.compareTo(java.lang.Object)
method is called, otherwise this method will defer toCollator.compare(java.lang.String, java.lang.String)
.
-
-
Constructor Details
-
TableColumnBase
protected TableColumnBase()Creates a default TableColumn with default cell factory, comparator, and onEditCommit implementation. -
TableColumnBase
Creates a TableColumn with the text set to the provided string, with default cell factory, comparator, and onEditCommit implementation.- Parameters:
text
- The string to show when the TableColumn is placed within the TableView.
-
-
Method Details
-
textProperty
This is the text to show in the header for this column.- Returns:
- the
text
property - See Also:
-
setText
Sets the value of thetext
property.- Property description:
- This is the text to show in the header for this column.
- Parameters:
value
- the value for thetext
property- See Also:
-
getText
Gets the value of thetext
property.- Property description:
- This is the text to show in the header for this column.
- Returns:
- the value of the
text
property - See Also:
-
setVisible
public final void setVisible(boolean value) Sets the value of thevisible
property.- Property description:
- Toggling this will immediately toggle the visibility of this column, and all children columns.
- Parameters:
value
- the value for thevisible
property- See Also:
-
isVisible
public final boolean isVisible()Gets the value of thevisible
property.- Property description:
- Toggling this will immediately toggle the visibility of this column, and all children columns.
- Returns:
- the value of the
visible
property - See Also:
-
visibleProperty
Toggling this will immediately toggle the visibility of this column, and all children columns.- Returns:
- the
visible
property - See Also:
-
getParentColumn
Gets the value of theparentColumn
property.- Property description:
- This read-only property will always refer to the parent of this column,
in the situation where nested columns are being used.
In the currently existing subclasses, to create a nested column is simply a matter of placing the relevant TableColumnBase instances inside the columns ObservableList (for example, see
TableColumn.getColumns()
andTreeTableColumn.getColumns()
. - Returns:
- the value of the
parentColumn
property - See Also:
-
parentColumnProperty
This read-only property will always refer to the parent of this column, in the situation where nested columns are being used.In the currently existing subclasses, to create a nested column is simply a matter of placing the relevant TableColumnBase instances inside the columns ObservableList (for example, see
TableColumn.getColumns()
andTreeTableColumn.getColumns()
.- Returns:
- the
parentColumn
property - See Also:
-
setContextMenu
Sets the value of thecontextMenu
property.- Property description:
- This menu will be shown whenever the user right clicks within the header area of this TableColumnBase.
- Parameters:
value
- the value for thecontextMenu
property- See Also:
-
getContextMenu
Gets the value of thecontextMenu
property.- Property description:
- This menu will be shown whenever the user right clicks within the header area of this TableColumnBase.
- Returns:
- the value of the
contextMenu
property - See Also:
-
contextMenuProperty
This menu will be shown whenever the user right clicks within the header area of this TableColumnBase.- Returns:
- the
contextMenu
property - See Also:
-
setId
Sets the value of theid
property.- Property description:
- The id of this TableColumnBase. This simple string identifier is useful
for finding a specific TableColumnBase within a UI control that uses
TableColumnBase instances. The default value is
null
. - Default value:
- null
- Parameters:
value
- the value for theid
property- See Also:
-
getId
Gets the value of theid
property.- Specified by:
getId
in interfaceStyleable
- Property description:
- The id of this TableColumnBase. This simple string identifier is useful
for finding a specific TableColumnBase within a UI control that uses
TableColumnBase instances. The default value is
null
. - Default value:
- null
- Returns:
- the value of the
id
property - See Also:
-
idProperty
The id of this TableColumnBase. This simple string identifier is useful for finding a specific TableColumnBase within a UI control that uses TableColumnBase instances. The default value isnull
.- Default value:
- null
- Returns:
- the
id
property - See Also:
-
setStyle
Sets the value of thestyle
property.- Property description:
- A string representation of the CSS style associated with this
TableColumnBase instance. This is analogous to the "style" attribute of an
HTML element. Note that, like the HTML style attribute, this
variable contains style properties and values and not the
selector portion of a style rule.
Parsing this style might not be supported on some limited platforms. It is recommended to use a standalone CSS file instead.
- Default value:
- empty string
- Parameters:
value
- the value for thestyle
property- See Also:
-
getStyle
Gets the value of thestyle
property.- Specified by:
getStyle
in interfaceStyleable
- Property description:
- A string representation of the CSS style associated with this
TableColumnBase instance. This is analogous to the "style" attribute of an
HTML element. Note that, like the HTML style attribute, this
variable contains style properties and values and not the
selector portion of a style rule.
Parsing this style might not be supported on some limited platforms. It is recommended to use a standalone CSS file instead.
- Default value:
- empty string
- Returns:
- the value of the
style
property - See Also:
-
styleProperty
A string representation of the CSS style associated with this TableColumnBase instance. This is analogous to the "style" attribute of an HTML element. Note that, like the HTML style attribute, this variable contains style properties and values and not the selector portion of a style rule.Parsing this style might not be supported on some limited platforms. It is recommended to use a standalone CSS file instead.
- Default value:
- empty string
- Returns:
- the
style
property - See Also:
-
getStyleClass
A list of String identifiers which can be used to logically group Nodes, specifically for an external style engine. This variable is analogous to the "class" attribute on an HTML element and, as such, each element of the list is a style class to which this Node belongs.- Specified by:
getStyleClass
in interfaceStyleable
- Returns:
- a list of String identifiers which can be used to logically group Nodes, specifically for an external style engine
- See Also:
-
setGraphic
Sets the value of thegraphic
property.- Property description:
The graphic to show in the table column to allow the user to indicate graphically what is in the column.
- Parameters:
value
- the value for thegraphic
property- See Also:
-
getGraphic
Gets the value of thegraphic
property.- Property description:
The graphic to show in the table column to allow the user to indicate graphically what is in the column.
- Returns:
- the value of the
graphic
property - See Also:
-
graphicProperty
The graphic to show in the table column to allow the user to indicate graphically what is in the column.
- Returns:
- the
graphic
property - See Also:
-
setSortNode
Sets the value of thesortNode
property.- Property description:
The node to use as the "sort arrow", shown to the user in situations where the table column is part of the sort order. It may be the only item in the sort order, or it may be a secondary, tertiary, or latter sort item, and the node should reflect this visually. This is only used in the case of the table column being in the sort order (refer to, for example,
TableView.getSortOrder()
andTreeTableView.getSortOrder()
). If not specified, the table column skin implementation is responsible for providing a default sort node.The sort node is commonly seen represented as a triangle that rotates on screen to indicate whether the table column is part of the sort order, and if so, whether the sort is ascending or descending, and what position in the sort order it is in.
- Parameters:
value
- the value for thesortNode
property- See Also:
-
getSortNode
Gets the value of thesortNode
property.- Property description:
The node to use as the "sort arrow", shown to the user in situations where the table column is part of the sort order. It may be the only item in the sort order, or it may be a secondary, tertiary, or latter sort item, and the node should reflect this visually. This is only used in the case of the table column being in the sort order (refer to, for example,
TableView.getSortOrder()
andTreeTableView.getSortOrder()
). If not specified, the table column skin implementation is responsible for providing a default sort node.The sort node is commonly seen represented as a triangle that rotates on screen to indicate whether the table column is part of the sort order, and if so, whether the sort is ascending or descending, and what position in the sort order it is in.
- Returns:
- the value of the
sortNode
property - See Also:
-
sortNodeProperty
The node to use as the "sort arrow", shown to the user in situations where the table column is part of the sort order. It may be the only item in the sort order, or it may be a secondary, tertiary, or latter sort item, and the node should reflect this visually. This is only used in the case of the table column being in the sort order (refer to, for example,
TableView.getSortOrder()
andTreeTableView.getSortOrder()
). If not specified, the table column skin implementation is responsible for providing a default sort node.The sort node is commonly seen represented as a triangle that rotates on screen to indicate whether the table column is part of the sort order, and if so, whether the sort is ascending or descending, and what position in the sort order it is in.
- Returns:
- the
sortNode
property - See Also:
-
widthProperty
The width of this column. Modifying this will result in the column width adjusting visually. It is recommended to not bind this property to an external property, as that will result in the column width not being adjustable by the user through dragging the left and right borders of column headers.- Returns:
- the width property
- See Also:
-
getWidth
public final double getWidth()Gets the value of thewidth
property.- Property description:
- The width of this column. Modifying this will result in the column width adjusting visually. It is recommended to not bind this property to an external property, as that will result in the column width not being adjustable by the user through dragging the left and right borders of column headers.
- Returns:
- the value of the
width
property - See Also:
-
setMinWidth
public final void setMinWidth(double value) Sets the value of theminWidth
property.- Property description:
- The minimum width the table column is permitted to be resized to.
- Parameters:
value
- the value for theminWidth
property- See Also:
-
getMinWidth
public final double getMinWidth()Gets the value of theminWidth
property.- Property description:
- The minimum width the table column is permitted to be resized to.
- Returns:
- the value of the
minWidth
property - See Also:
-
minWidthProperty
The minimum width the table column is permitted to be resized to.- Returns:
- the
minWidth
property - See Also:
-
prefWidthProperty
The preferred width of the TableColumn.- Returns:
- preferred width property
- See Also:
-
setPrefWidth
public final void setPrefWidth(double value) Sets the value of theprefWidth
property.- Property description:
- The preferred width of the TableColumn.
- Parameters:
value
- the value for theprefWidth
property- See Also:
-
getPrefWidth
public final double getPrefWidth()Gets the value of theprefWidth
property.- Property description:
- The preferred width of the TableColumn.
- Returns:
- the value of the
prefWidth
property - See Also:
-
maxWidthProperty
The maximum width the table column is permitted to be resized to.- Returns:
- maximum width property
- See Also:
-
setMaxWidth
public final void setMaxWidth(double value) Sets the value of themaxWidth
property.- Property description:
- The maximum width the table column is permitted to be resized to.
- Parameters:
value
- the value for themaxWidth
property- See Also:
-
getMaxWidth
public final double getMaxWidth()Gets the value of themaxWidth
property.- Property description:
- The maximum width the table column is permitted to be resized to.
- Returns:
- the value of the
maxWidth
property - See Also:
-
resizableProperty
Used to indicate whether the width of this column can change. It is up to the resizing policy to enforce this however.- Returns:
- the
resizable
property - See Also:
-
setResizable
public final void setResizable(boolean value) Sets the value of theresizable
property.- Property description:
- Used to indicate whether the width of this column can change. It is up to the resizing policy to enforce this however.
- Parameters:
value
- the value for theresizable
property- See Also:
-
isResizable
public final boolean isResizable()Gets the value of theresizable
property.- Property description:
- Used to indicate whether the width of this column can change. It is up to the resizing policy to enforce this however.
- Returns:
- the value of the
resizable
property - See Also:
-
sortableProperty
A boolean property to toggle on and off the 'sortability' of this column. When this property is true, this column can be included in sort operations. If this property is false, it will not be included in sort operations, even if it is contained within the sort order list of the underlying UI control (e.g.
TableView.getSortOrder()
orTreeTableView.getSortOrder()
).For example, iIf a TableColumn instance is contained within the TableView sortOrder ObservableList, and its sortable property toggles state, it will force the TableView to perform a sort, as it is likely the view will need updating.
- Returns:
- the
sortable
property - See Also:
-
setSortable
public final void setSortable(boolean value) Sets the value of thesortable
property.- Property description:
A boolean property to toggle on and off the 'sortability' of this column. When this property is true, this column can be included in sort operations. If this property is false, it will not be included in sort operations, even if it is contained within the sort order list of the underlying UI control (e.g.
TableView.getSortOrder()
orTreeTableView.getSortOrder()
).For example, iIf a TableColumn instance is contained within the TableView sortOrder ObservableList, and its sortable property toggles state, it will force the TableView to perform a sort, as it is likely the view will need updating.
- Parameters:
value
- the value for thesortable
property- See Also:
-
isSortable
public final boolean isSortable()Gets the value of thesortable
property.- Property description:
A boolean property to toggle on and off the 'sortability' of this column. When this property is true, this column can be included in sort operations. If this property is false, it will not be included in sort operations, even if it is contained within the sort order list of the underlying UI control (e.g.
TableView.getSortOrder()
orTreeTableView.getSortOrder()
).For example, iIf a TableColumn instance is contained within the TableView sortOrder ObservableList, and its sortable property toggles state, it will force the TableView to perform a sort, as it is likely the view will need updating.
- Returns:
- the value of the
sortable
property - See Also:
-
reorderableProperty
A boolean property to toggle on and off the 'reorderability' of this column (with drag and drop - reordering by modifying the appropriatecolumns
list is always allowed). When this property is true, this column can be reordered by users simply by dragging and dropping the columns into their desired positions. When this property is false, this ability to drag and drop columns is not available.- Returns:
- the
reorderable
property - Since:
- 9
- See Also:
-
setReorderable
public final void setReorderable(boolean value) Sets the value of thereorderable
property.- Property description:
- A boolean property to toggle on and off the 'reorderability' of this column
(with drag and drop - reordering by modifying the appropriate
columns
list is always allowed). When this property is true, this column can be reordered by users simply by dragging and dropping the columns into their desired positions. When this property is false, this ability to drag and drop columns is not available. - Parameters:
value
- the value for thereorderable
property- Since:
- 9
- See Also:
-
isReorderable
public final boolean isReorderable()Gets the value of thereorderable
property.- Property description:
- A boolean property to toggle on and off the 'reorderability' of this column
(with drag and drop - reordering by modifying the appropriate
columns
list is always allowed). When this property is true, this column can be reordered by users simply by dragging and dropping the columns into their desired positions. When this property is false, this ability to drag and drop columns is not available. - Returns:
- the value of the
reorderable
property - Since:
- 9
- See Also:
-
comparatorProperty
Comparator function used when sorting this table column. The two Objects given as arguments are the cell data for two individual cells in this column.- Returns:
- the
comparator
property - See Also:
-
setComparator
Sets the value of thecomparator
property.- Property description:
- Comparator function used when sorting this table column. The two Objects given as arguments are the cell data for two individual cells in this column.
- Parameters:
value
- the value for thecomparator
property- See Also:
-
getComparator
Gets the value of thecomparator
property.- Property description:
- Comparator function used when sorting this table column. The two Objects given as arguments are the cell data for two individual cells in this column.
- Returns:
- the value of the
comparator
property - See Also:
-
setEditable
public final void setEditable(boolean value) Sets the value of theeditable
property.- Property description:
- Specifies whether this table column allows editing. This, unlike
TableView.editableProperty()
andTreeTableView.editableProperty()
, is true by default. - Parameters:
value
- the value for theeditable
property- See Also:
-
isEditable
public final boolean isEditable()Gets the value of theeditable
property.- Property description:
- Specifies whether this table column allows editing. This, unlike
TableView.editableProperty()
andTreeTableView.editableProperty()
, is true by default. - Returns:
- the value of the
editable
property - See Also:
-
editableProperty
Specifies whether this table column allows editing. This, unlikeTableView.editableProperty()
andTreeTableView.editableProperty()
, is true by default.- Returns:
- the
editable
property - See Also:
-
getProperties
Returns an observable map of properties on this table column for use primarily by application developers.- Returns:
- an observable map of properties on this table column for use primarily by application developers
-
hasProperties
public boolean hasProperties()Tests if this table column has properties.- Returns:
- true if node has properties.
-
setUserData
Convenience method for setting a single Object property that can be retrieved at a later date. This is functionally equivalent to calling the getProperties().put(Object key, Object value) method. This can later be retrieved by callinggetUserData()
.- Parameters:
value
- The value to be stored - this can later be retrieved by callinggetUserData()
.
-
getUserData
Returns a previously set Object property, or null if no such property has been set using thesetUserData(java.lang.Object)
method.- Returns:
- The Object that was previously set, or null if no property has been set or if null was set.
-
getColumns
This enables support for nested columns, which can be useful to group together related data. For example, we may have a 'Name' column with two nested columns for 'First' and 'Last' names.This has no impact on the table as such - all column indices point to the leaf columns only, and it isn't possible to sort using the parent column, just the leaf columns. In other words, this is purely a visual feature.
- Returns:
- An ObservableList containing TableColumnBase instances (or subclasses) that are the children of this TableColumnBase. If these children TableColumnBase instances are set as visible, they will appear beneath this table column.
-
getCellData
Returns the actual value for a cell at a given row index (and which belongs to this table column).- Parameters:
index
- The row index for which the data is required.- Returns:
- The data that belongs to the cell at the intersection of the given row index and the table column that this method is called on.
-
getCellData
Returns the actual value for a cell from the given item.- Parameters:
item
- The item from which a value of type T should be extracted.- Returns:
- The data that should be used in a specific cell in this column, based on the item passed in as an argument.
-
getCellObservableValue
Attempts to return an ObservableValue<T> for the item in the given index (which is of type S). In other words, this method expects to receive an integer value that is greater than or equal to zero, and less than the size of the underlying data model. If the index is valid, this method will return an ObservableValue<T> for this specific column.This is achieved by calling the
cell value factory
, and returning whatever it returns when passed aCellDataFeatures
(see, for example, the CellDataFeatures classes belonging toTableColumn
andTreeTableColumn
for more information).- Parameters:
index
- The index of the item (of type S) for which an ObservableValue<T> is sought.- Returns:
- An ObservableValue<T> for this specific table column.
-
getCellObservableValue
Attempts to return an ObservableValue<T> for the given item (which is of type S). In other words, this method expects to receive an object from the underlying data model for the entire 'row' in the table, and it must return an ObservableValue<T> for the value in this specific column.This is achieved by calling the
cell value factory
, and returning whatever it returns when passed aCellDataFeatures
(see, for example, the CellDataFeatures classes belonging toTableColumn
andTreeTableColumn
for more information).- Parameters:
item
- The item (of type S) for which an ObservableValue<T> is sought.- Returns:
- An ObservableValue<T> for this specific table column.
-
buildEventDispatchChain
Construct an event dispatch chain for this target. The event dispatch chain contains event dispatchers which might be interested in processing of events targeted at thisEventTarget
. This event target is not automatically added to the chain, so if it wants to process events, it needs to add anEventDispatcher
for itself to the chain.In the case the event target is part of some hierarchy, the chain for it is usually built from event dispatchers collected from the root of the hierarchy to the event target.
The event dispatch chain is constructed by modifications to the provided initial event dispatch chain. The returned chain should have the initial chain at its end so the dispatchers should be prepended to the initial chain.
The caller shouldn't assume that the initial chain remains unchanged nor that the returned value will reference a different chain.
- Specified by:
buildEventDispatchChain
in interfaceEventTarget
- Parameters:
tail
- the initial chain to build from- Returns:
- the resulting event dispatch chain for this target
-
addEventHandler
Registers an event handler to this table column. The TableColumnBase class allows registration of listeners which will be notified when editing occurs. Note however that TableColumnBase is not a Node, and therefore no visual events will be fired on it.- Type Parameters:
E
- The type of event- Parameters:
eventType
- the type of the events to receive by the handlereventHandler
- the handler to register- Throws:
NullPointerException
- if the event type or handler is null
-
removeEventHandler
public <E extends Event> void removeEventHandler(EventType<E> eventType, EventHandler<E> eventHandler) Unregisters a previously registered event handler from this table column. One handler might have been registered for different event types, so the caller needs to specify the particular event type from which to unregister the handler.- Type Parameters:
E
- The type of event- Parameters:
eventType
- the event type from which to unregistereventHandler
- the handler to unregister- Throws:
NullPointerException
- if the event type or handler is null
-
getPseudoClassStates
Return the pseudo-class state of this Styleable. CSS assumes this set is read-only.- Specified by:
getPseudoClassStates
in interfaceStyleable
- Returns:
- the pseudo-class state
-