TableColumn

scalafx.scene.control.TableColumn
See theTableColumn companion object
class TableColumn[S, T](val delegate: TableColumn[S, T]) extends TableColumnBase[S, T], SFXDelegate[TableColumn[S, T]]

Attributes

Companion
object
Graph
Supertypes
class TableColumnBase[S, T]
trait Styleable
class EventTarget
trait SFXDelegate[TableColumn[S, T]]
class Object
trait Matchable
class Any
Show all

Members list

Type members

Inherited classlikes

object FilterMagnet

Companion object implementing Magnet Pattern Magnet Pattern to avoid compilation error "ambiguous reference to overloaded definition"

Companion object implementing Magnet Pattern Magnet Pattern to avoid compilation error "ambiguous reference to overloaded definition"

Attributes

Inherited from:
EventTarget
Supertypes
class Object
trait Matchable
class Any
sealed trait FilterMagnet[J <: Event, S <: SFXDelegate[J]]

Trait implementing Magnet Pattern to avoid compilation error "ambiguous reference to overloaded definition"

Trait implementing Magnet Pattern to avoid compilation error "ambiguous reference to overloaded definition"

Attributes

Inherited from:
EventTarget
Supertypes
class Object
trait Matchable
class Any
object HandlerMagnet

Companion object implementing Magnet Pattern Magnet Pattern to avoid compilation error "ambiguous reference to overloaded definition"

Companion object implementing Magnet Pattern Magnet Pattern to avoid compilation error "ambiguous reference to overloaded definition"

Attributes

Inherited from:
EventTarget
Supertypes
class Object
trait Matchable
class Any
sealed trait HandlerMagnet[J <: Event, S <: SFXDelegate[J]]

Trait implementing Magnet Pattern to avoid compilation error "ambiguous reference to overloaded definition"

Trait implementing Magnet Pattern to avoid compilation error "ambiguous reference to overloaded definition"

Attributes

Inherited from:
EventTarget
Supertypes
class Object
trait Matchable
class Any

Value members

Constructors

def this(text: String)

Creates a TableColumn with the text set to the provided string, with default cell factory, comparator, and onEditCommit implementation.

Creates a TableColumn with the text set to the provided string, with default cell factory, comparator, and onEditCommit implementation.

Attributes

Concrete methods

def cellFactory: ObjectProperty[Callback[TableColumn[S, T], TableCell[S, T]]]

The cell factory for all cells in this column.

The cell factory for all cells in this column.

Attributes

def cellFactory_=(callback: Callback[TableColumn[S, T], TableCell[S, T]]): Unit
def cellFactory_=(f: TableColumn[S, T] => TableCell[S, T]): Unit
def cellFactory_=(op: (TableCell[S, T], T) => Unit): Unit

This is a helper method for easy creation of custom cell factories. The custom cell is automatically created, and it handles rendering of empty cells. The user is only responsible for providing an operation op that renders non-empty cells.

This is a helper method for easy creation of custom cell factories. The custom cell is automatically created, and it handles rendering of empty cells. The user is only responsible for providing an operation op that renders non-empty cells.

The operation op provides as input the already created custom cell and value of that cell. The value is provided by the cellValueFactory. The value is guaranteed to be non null. The null values are automatically rendered as empty cells by the provided cell object.

Here is an example where value's type is a case class Person that contains two text fields: firstName and lastName.

 case class Person(firstName:String, lastName:String)
 ...

 cellFactory = (cell, value) => {
   cell.text = value.firstName + " " + value.lastName
 }

Another example where 'value' is of type 'Color' and the cell factory creates a circle representing that color:

 cellFactory = (cell, value) => {
   cell.graphic = new Circle {
      fill = value
      radius = 8
   }
 }

Value parameters

op

a method that will create content for a given cell. It gets as an input automatically created custom cell and a non-null value of that cell. op is called in the cell's updateItem method.

Attributes

The cell value factory needs to be set to specify how to populate all cells within a single TableColumn.

The cell value factory needs to be set to specify how to populate all cells within a single TableColumn.

class Position(name_ : String, value_ : Int) {
 val name = new StringProperty(this, "name", name_)
 val value = new ObjectProperty[Int](this, "value", value_)
}

val tableView = new TableView[Position](data) {
 columns ++= List(
   new TableColumn[Position, String] {
     text = "Position"
     cellValueFactory = {_.value.name}
     prefWidth = 180
   },
   new TableColumn[Position, Int] {
     text = "Value"
     cellValueFactory = {_.value.value}
     prefWidth = 180
   }
 )
}

Attributes

def columns: ObservableBuffer[TableColumn[S, _]]

This enables support for nested columns, which can be useful to group together related data.

This enables support for nested columns, which can be useful to group together related data.

Attributes

def onEditCancel: ObjectProperty[EventHandler[CellEditEvent[S, T]]]

This event handler will be fired when the user cancels editing a cell.

This event handler will be fired when the user cancels editing a cell.

Attributes

def onEditCancel_=(v: EventHandler[CellEditEvent[S, T]]): Unit
def onEditCommit: ObjectProperty[EventHandler[CellEditEvent[S, T]]]

This event handler will be fired when the user successfully commits their editing.

This event handler will be fired when the user successfully commits their editing.

Attributes

def onEditCommit_=(v: EventHandler[CellEditEvent[S, T]]): Unit
def onEditStart: ObjectProperty[EventHandler[CellEditEvent[S, T]]]

This event handler will be fired when the user successfully initiates editing.

This event handler will be fired when the user successfully initiates editing.

Attributes

def onEditStart_=(v: EventHandler[CellEditEvent[S, T]]): Unit
def sortType: ObjectProperty[SortType]

Used to state whether this column, if it is part of the TableView.sortOrder ObservableList, should be sorted in ascending or descending order.

Used to state whether this column, if it is part of the TableView.sortOrder ObservableList, should be sorted in ascending or descending order.

Attributes

def tableView: ReadOnlyObjectProperty[TableView[S]]

The TableView that this TableColumn belongs to.

The TableView that this TableColumn belongs to.

Attributes

Inherited methods

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 this EventTarget. This event target is not automatically added to the chain, so if it wants to process events, it needs to add an EventDispatcher for itself to the chain.

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 this EventTarget. This event target is not automatically added to the chain, so if it wants to process events, it needs to add an EventDispatcher 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.

Value parameters

tail

the initial chain to build from

Attributes

Returns

the resulting event dispatch chain for this target

See also
Inherited from:
EventTarget
def comparator: ObjectProperty[Comparator[T]]

Comparator function used when sorting this TableColumnBase.

Comparator function used when sorting this TableColumnBase.

Attributes

Inherited from:
TableColumnBase
def comparator_=(v: Ordering[T]): Unit

Attributes

Inherited from:
TableColumnBase
def contextMenu: ObjectProperty[ContextMenu]

This menu will be shown whenever the user right clicks within the header area of this TableColumnBase.

This menu will be shown whenever the user right clicks within the header area of this TableColumnBase.

Attributes

Inherited from:
TableColumnBase

Attributes

Inherited from:
TableColumnBase
def cssMetaData: Seq[CssMetaData[_ <: Styleable, _]]

The CssMetaData of this Styleable.

The CssMetaData of this Styleable.

Attributes

Inherited from:
Styleable

Specifies whether this TableColumnBase allows editing.

Specifies whether this TableColumnBase allows editing.

Attributes

Inherited from:
TableColumnBase

Attributes

Inherited from:
TableColumnBase
override def equals(ref: Any): Boolean

Verifies if a object is equals to this delegate.

Verifies if a object is equals to this delegate.

Value parameters

ref

Object to be compared.

Attributes

Returns

if the other object is equals to this delegate or not.

Definition Classes
SFXDelegate -> Any
Inherited from:
SFXDelegate
def filterEvent[J <: Event, S <: Event & SFXDelegate[J]](eventType: EventType[J])(filter: FilterMagnet[J, S]): Subscription

Registers an event filter. Registered event filters get an event before any associated event handlers.

Registers an event filter. Registered event filters get an event before any associated event handlers.

Example of filtering mouse events

pane.filterEvent(MouseEvent.Any) {
  me: MouseEvent => {
    me.eventType match {
      case MouseEvent.MousePressed => {
        ...
      }
      case MouseEvent.MouseDragged => {
        ...
      }
      case _ => {
        ...
      }
    }
  }
}

or

pane.filterEvent(MouseEvent.Any) { () => println("Some mouse event handled") }

Type parameters

J

type JavaFX delegate of the event

S

ScalaFX type for J type wrapper.

Value parameters

eventType

type of events that will be handled.

filter

code handling the event, see examples above.

Attributes

Inherited from:
EventTarget
def getCellData(index: S): T

Returns the actual value for a cell from the given item.

Returns the actual value for a cell from the given item.

Attributes

Inherited from:
TableColumnBase
def getCellData(index: Int): T

Returns the actual value for a cell at a given row index (and which belongs to this TableColumnBase).

Returns the actual value for a cell at a given row index (and which belongs to this TableColumnBase).

Attributes

Inherited from:
TableColumnBase
def getId: String

The id of this Styleable.

The id of this Styleable.

IMPLEMENTATION NOTE: For this method was adopted the name getId instead id to not conflict with its subclasses already have a method with this name which returns a StringProperty.

Attributes

Inherited from:
Styleable

A string representation of the CSS style associated with this specific Node.

A string representation of the CSS style associated with this specific Node.

IMPLEMENTATION NOTE: For this method was adopted the name getStyle instead style to not conflict with its subclasses already have a method with this name which returns a StringProperty.

Attributes

Inherited from:
Styleable
def graphic: ObjectProperty[Node]

The graphic in the TableColumnBase.

The graphic in the TableColumnBase.

Attributes

Inherited from:
TableColumnBase
def graphic_=(v: Node): Unit

Attributes

Inherited from:
TableColumnBase
def handleEvent[J <: Event, S <: Event & SFXDelegate[J]](eventType: EventType[J])(handler: HandlerMagnet[J, S]): Subscription

Registers an event handler. The handler is called when the node receives an Event of the specified type during the bubbling phase of event delivery.

Registers an event handler. The handler is called when the node receives an Event of the specified type during the bubbling phase of event delivery.

Example of handling mouse events

pane.handleEvent(MouseEvent.Any) {
  me: MouseEvent => {
    me.eventType match {
      case MouseEvent.MousePressed => ...
      case MouseEvent.MouseDragged => ...
      case _                       => {}
    }
  }
}

or

pane.handleEvent(MouseEvent.Any) { () => println("Some mouse event handled") }

Type parameters

J

type JavaFX delegate of the event

S

ScalaFX type for J type wrapper.

Value parameters

eventType

type of events that will be handled.

handler

code handling the event, see examples above.

Attributes

Returns

Returns a subscription that can be used to cancel/remove this event handler

Inherited from:
EventTarget

Tests if this TableColumnBase has properties.

Tests if this TableColumnBase has properties.

Attributes

Inherited from:
TableColumnBase
override def hashCode: Int

Attributes

Returns

The delegate hashcode

Definition Classes
SFXDelegate -> Any
Inherited from:
SFXDelegate

The id of this TableColumnBase.

The id of this TableColumnBase.

Attributes

Inherited from:
TableColumnBase
def id_=(v: String): Unit

Attributes

Inherited from:
TableColumnBase

The maximum width the TableColumnBase is permitted to be resized to.

The maximum width the TableColumnBase is permitted to be resized to.

Attributes

Inherited from:
TableColumnBase

Attributes

Inherited from:
TableColumnBase

The minimum width the TableColumnBase is permitted to be resized to.

The minimum width the TableColumnBase is permitted to be resized to.

Attributes

Inherited from:
TableColumnBase

Attributes

Inherited from:
TableColumnBase
def parentColumn: 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.

This read-only property will always refer to the parent of this column, in the situation where nested columns are being used.

Attributes

Inherited from:
TableColumnBase

The preferred width of the TableColumnBase.

The preferred width of the TableColumnBase.

Attributes

Inherited from:
TableColumnBase

Attributes

Inherited from:
TableColumnBase
def pseudoClassStates: ObservableSet[PseudoClass]

The pseudo-class state of this Styleable.

The pseudo-class state of this Styleable.

Attributes

Inherited from:
Styleable

Used to indicate whether the width of this column can change.

Used to indicate whether the width of this column can change.

Attributes

Inherited from:
TableColumnBase

Attributes

Inherited from:
TableColumnBase

The sort node is commonly seen represented as a triangle that rotates on screen to indicate whether the TableColumnBase is part of the sort order, and if so, what position in the sort order it is in.

The sort node is commonly seen represented as a triangle that rotates on screen to indicate whether the TableColumnBase is part of the sort order, and if so, what position in the sort order it is in.

Attributes

Inherited from:
TableColumnBase
def sortNode_=(v: Node): Unit

Attributes

Inherited from:
TableColumnBase

A boolean property to toggle on and off the sortability of this column.

A boolean property to toggle on and off the sortability of this column.

Attributes

Inherited from:
TableColumnBase

Attributes

Inherited from:
TableColumnBase

The CSS style string associated to this TableColumnBase.

The CSS style string associated to this TableColumnBase.

Attributes

Inherited from:
TableColumnBase

A list of String identifiers which can be used to logically group Nodes, specifically for an external style engine.

A list of String identifiers which can be used to logically group Nodes, specifically for an external style engine.

Attributes

Inherited from:
Styleable
def style_=(v: String): Unit

Attributes

Inherited from:
TableColumnBase

Returns the Node that represents this Styleable object. This method should be overridden in cases where the Styleable is not itself a Node, so that it may optionally return the relevant root node representation of itself. By default this method returns null, which can mean that either the Styleable itself is a Node, or if that is not the case, that the Styleable does not have a node representation available at the time of request.

Returns the Node that represents this Styleable object. This method should be overridden in cases where the Styleable is not itself a Node, so that it may optionally return the relevant root node representation of itself. By default this method returns null, which can mean that either the Styleable itself is a Node, or if that is not the case, that the Styleable does not have a node representation available at the time of request.

Attributes

Returns

the Node that represents this Styleable object

Since

9

Inherited from:
Styleable

The parent of this Styleable, or null if there is no parent.

The parent of this Styleable, or null if there is no parent.

Attributes

Inherited from:
Styleable

This is the text to show in the header for this column.

This is the text to show in the header for this column.

Attributes

Inherited from:
TableColumnBase
def text_=(v: String): Unit

Attributes

Inherited from:
TableColumnBase
override def toString: String

Attributes

Returns

Returns the original delegate's toString() adding a [SFX] prefix.

Definition Classes
SFXDelegate -> Any
Inherited from:
SFXDelegate

The type of this Styleable that is to be used in selector matching.

The type of this Styleable that is to be used in selector matching.

Attributes

Inherited from:
Styleable
def userData: AnyRef

Returns a previously set Object property, or null if no such property has been set using the setUserData(Any) method.

Returns a previously set Object property, or null if no such property has been set using the setUserData(Any) method.

Attributes

Inherited from:
TableColumnBase

Toggling this will immediately toggle the visibility of this column, and all children columns.

Toggling this will immediately toggle the visibility of this column, and all children columns.

Attributes

Inherited from:
TableColumnBase

Attributes

Inherited from:
TableColumnBase

The width of this column.

The width of this column.

Attributes

Inherited from:
TableColumnBase

Concrete fields

override val delegate: TableColumn[S, T]

JavaFX object to be wrapped.

JavaFX object to be wrapped.

Attributes