class TreeTableColumn[S, T] extends TableColumnBase[javafx.scene.control.TreeItem[S], T] with SFXDelegate[javafx.scene.control.TreeTableColumn[S, T]]
- S
The type of the TreeTableView generic type (i.e. S == TreeTableView<S>)
- T
The type of the content in all cells in this TreeTableColumn.
- Source
- TreeTableColumn.scala
- Since
8.0
- Alphabetic
- By Inheritance
- TreeTableColumn
- TableColumnBase
- Styleable
- SFXDelegate
- EventHandlerDelegate
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
-
new
TreeTableColumn(text: String)
Creates a TreeTableColumn with the text set to the provided string, with default cell factory, comparator, and onEditCommit implementation.
Creates a TreeTableColumn with the text set to the provided string, with default cell factory, comparator, and onEditCommit implementation.
- text
The string to show when the TreeTableColumn is placed within the TreeTableView.
-
new
TreeTableColumn(delegate: javafx.scene.control.TreeTableColumn[S, T] = new jfxsc.TreeTableColumn[S, T]())
Creates a new TreeTableColumn from a JavaFX one.
Creates a new TreeTableColumn from a JavaFX one.
- delegate
A JavaFX TreeTableColumn to be wrapped. Its default value is a new JavaFX TreeTableColumn.
Type Members
-
sealed
trait
FilterMagnet[J <: javafx.event.Event, S <: SFXDelegate[J]] extends AnyRef
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"
- Definition Classes
- EventHandlerDelegate
-
sealed
trait
HandlerMagnet[J <: javafx.event.Event, S <: SFXDelegate[J]] extends AnyRef
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"
- Definition Classes
- EventHandlerDelegate
-
type
EventHandled = AnyRef { ... /* 5 definitions in type refinement */ }
- Definition Classes
- EventHandlerDelegate
Value Members
-
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"
- Definition Classes
- EventHandlerDelegate
-
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"
- Definition Classes
- EventHandlerDelegate
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
addEventFilter[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit
Registers an event filter to this task.
Registers an event filter to this task. Registered event filters get an event before any associated event handlers.
- E
Event class
- eventType
the type of the events to receive by the filter
- eventHandler
the filter to register that will filter event
- Definition Classes
- EventHandlerDelegate
-
def
addEventHandler[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit
Registers an event handler to this task.
Registers an event handler to this task. Any event filters are first processed, then the specified onFoo event handlers, and finally any event handlers registered by this method. As with other events in the scene graph, if an event is consumed, it will not continue dispatching.
- E
Event class
- eventType
the type of the events to receive by the handler
- eventHandler
the handler to register that will manipulate event
- Definition Classes
- EventHandlerDelegate
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
buildEventDispatchChain(chain: EventDispatchChain): EventDispatchChain
Construct an event dispatch chain for this target.
Construct an event dispatch chain for this target.
- Definition Classes
- EventHandlerDelegate
-
def
cellFactory: ObjectProperty[(TreeTableColumn[S, T]) ⇒ TreeTableCell[S, T]]
The cell factory for all cells in this column.
The cell factory for all cells in this column. The cell factory is responsible for rendering the data contained within each TreeTableCell for a single TreeTableColumn.
By default TreeTableColumn uses a default cell factory, but this can be replaced with a custom implementation, for example to show data in a different way or to support editing. There is a lot of documentation on creating custom cell factories elsewhere (see Cell and TreeTableView for example).
Finally, there are a number of pre-built cell factories available in the javafx.scene.control.cell package.
- def cellFactory_=(f: (TreeTableColumn[S, T]) ⇒ TreeTableCell[S, T]): Unit
-
def
cellObservableValue(item: TreeItem[S]): ObservableValue[T, T]
Attempts to return an ObservableValue<T> for the given item (which is of type S).
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 a CellDataFeatures (see, for example, the CellDataFeatures classes belonging to TableColumn and TreeTableColumn for more information).
- item
The item (of type S) for which an ObservableValue<T> is sought.
- returns
An ObservableValue<T> for this specific table column.
-
def
cellObservableValue(index: Int): ObservableValue[T, T]
Attempts to return an ObservableValue<T> for the item in the given index (which is of type S).
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 a CellDataFeatures (see, for example, the CellDataFeatures classes belonging to TableColumn and TreeTableColumn for more information).
- 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.
-
def
cellValueFactory: ObjectProperty[(CellDataFeatures[S, T]) ⇒ ObservableValue[T, T]]
The cell value factory needs to be set to specify how to populate all cells within a single TreeTableColumn.
The cell value factory needs to be set to specify how to populate all cells within a single TreeTableColumn. A cell value factory is a Callback that provides a TreeTableColumn.CellDataFeatures instance, and expects an ObservableValue to be returned. The returned ObservableValue instance will be observed internally to allow for updates to the value to be immediately reflected on screen.
An example of how to set a cell value factory is:
// p.value returns the TreeItem[Person] instance for a particular TreeTableView row, // p.value.value returns the Person instance inside the TreeItem[Person] cellValueFactory = { p => p.value.value.firstName }
A common approach is to want to populate cells in a TreeTableColumn using a single value from a Java bean. To support this common scenario, there is the TreeItemPropertyValueFactory class. Refer to this class for more information on how to use it, but briefly here is how the above use case could be simplified using the TreeItemPropertyValueFactory class:
firstNameCol.cellValueFactory = new TreeItemPropertyValueFactory[Person,String]("firstName"))
- def cellValueFactory_=(f: (CellDataFeatures[S, T]) ⇒ ObservableValue[T, T]): Unit
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @HotSpotIntrinsicCandidate()
-
def
columns: ObservableBuffer[javafx.scene.control.TreeTableColumn[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. 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 ObservableBuffer 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.
- Definition Classes
- TreeTableColumn → TableColumnBase
-
def
comparator: ObjectProperty[Comparator[T]]
Comparator function used when sorting this TableColumnBase.
Comparator function used when sorting this TableColumnBase.
- Definition Classes
- TableColumnBase
-
def
comparator_=(v: Ordering[T]): Unit
- Definition Classes
- TableColumnBase
-
def
contextMenu: ObjectProperty[javafx.scene.control.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.
- Definition Classes
- TableColumnBase
-
def
contextMenu_=(v: ContextMenu): Unit
- Definition Classes
- TableColumnBase
-
def
cssMetaData: Seq[CssMetaData[_ <: Styleable, _]]
The CssMetaData of this Styleable.
The CssMetaData of this Styleable. This may be returned as an unmodifiable list.
- Definition Classes
- TreeTableColumn → Styleable
-
val
delegate: javafx.scene.control.TreeTableColumn[S, T]
JavaFX object to be wrapped.
JavaFX object to be wrapped.
- Definition Classes
- TreeTableColumn → TableColumnBase → SFXDelegate
-
def
editable: BooleanProperty
Specifies whether this TableColumnBase allows editing.
Specifies whether this TableColumnBase allows editing.
- Definition Classes
- TableColumnBase
-
def
editable_=(v: Boolean): Unit
- Definition Classes
- TableColumnBase
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(ref: Any): Boolean
Verifies if a object is equals to this delegate.
Verifies if a object is equals to this delegate.
- ref
Object to be compared.
- returns
if the other object is equals to this delegate or not.
- Definition Classes
- SFXDelegate → AnyRef → Any
-
def
eventHandlerDelegate: EventHandled
Returns a object that implements scalafx.event.EventHandlerDelegate.EventHandled.
Returns a object that implements scalafx.event.EventHandlerDelegate.EventHandled.
- Attributes
- protected
- Definition Classes
- TableColumnBase → EventHandlerDelegate
-
def
filterEvent[J <: Event, S <: Event with SFXDelegate[J]](eventType: EventType[J])(filter: FilterMagnet[J, S]): Subscription
Registers an event filter.
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") }
- J
type JavaFX delegate of the event
- S
ScalaFX type for
J
type wrapper.- eventType
type of events that will be handled.
- filter
code handling the event, see examples above.
- Definition Classes
- EventHandlerDelegate
-
def
getCellData(index: javafx.scene.control.TreeItem[S]): T
Returns the actual value for a cell from the given item.
Returns the actual value for a cell from the given item.
- Definition Classes
- 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).
- Definition Classes
- TableColumnBase
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
getId: String
The id of this Styleable.
The id of this Styleable.
IMPLEMENTATION NOTE: For this method was adopted the name
getId
insteadid
to not conflict with its subclasses already have a method with this name which returns aStringProperty
.- Definition Classes
- Styleable
-
def
getStyle: String
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
insteadstyle
to not conflict with its subclasses already have a method with this name which returns aStringProperty
.- Definition Classes
- Styleable
-
def
graphic: ObjectProperty[javafx.scene.Node]
The graphic in the TableColumnBase.
The graphic in the TableColumnBase.
- Definition Classes
- TableColumnBase
-
def
graphic_=(v: Node): Unit
- Definition Classes
- TableColumnBase
-
def
handleEvent[J <: Event, S <: Event with SFXDelegate[J]](eventType: EventType[J])(handler: HandlerMagnet[J, S]): Subscription
Registers an event handler.
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") }
- J
type JavaFX delegate of the event
- S
ScalaFX type for
J
type wrapper.- eventType
type of events that will be handled.
- handler
code handling the event, see examples above.
- returns
Returns a subscription that can be used to cancel/remove this event handler
- Definition Classes
- EventHandlerDelegate
-
def
hasProperties: Boolean
Tests if this TableColumnBase has properties.
Tests if this TableColumnBase has properties.
- Definition Classes
- TableColumnBase
-
def
hashCode(): Int
- returns
The delegate hashcode
- Definition Classes
- SFXDelegate → AnyRef → Any
-
def
id: StringProperty
The id of this TableColumnBase.
The id of this TableColumnBase.
- Definition Classes
- TableColumnBase
-
def
id_=(v: String): Unit
- Definition Classes
- TableColumnBase
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
maxWidth: DoubleProperty
The maximum width the TableColumnBase is permitted to be resized to.
The maximum width the TableColumnBase is permitted to be resized to.
- Definition Classes
- TableColumnBase
-
def
maxWidth_=(v: Double): Unit
- Definition Classes
- TableColumnBase
-
def
minWidth: DoubleProperty
The minimum width the TableColumnBase is permitted to be resized to.
The minimum width the TableColumnBase is permitted to be resized to.
- Definition Classes
- TableColumnBase
-
def
minWidth_=(v: Double): Unit
- Definition Classes
- TableColumnBase
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
-
def
onEditCancel: ObjectProperty[EventHandler[CellEditEvent[S, T]]]
This event handler will be fired when the user cancels editing a cell.
- 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.
- 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.
- def onEditStart_=(v: EventHandler[CellEditEvent[S, T]]): Unit
-
def
parentColumn: ReadOnlyObjectProperty[javafx.scene.control.TableColumnBase[javafx.scene.control.TreeItem[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.
- Definition Classes
- TableColumnBase
-
def
prefWidth: DoubleProperty
The preferred width of the TableColumnBase.
The preferred width of the TableColumnBase.
- Definition Classes
- TableColumnBase
-
def
prefWidth_=(v: Double): Unit
- Definition Classes
- TableColumnBase
-
def
pseudoClassStates: ObservableSet[PseudoClass]
The pseudo-class state of this Styleable.
The pseudo-class state of this Styleable.
- Definition Classes
- Styleable
-
def
removeEventFilter[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit
Unregisters a previously registered event filter from this task.
Unregisters a previously registered event filter from this task. One filter might have been registered for different event types, so the caller needs to specify the particular event type from which to unregister the filter.
- E
Event class
- eventType
the event type from which to unregister
- eventHandler
the filter to unregister
- Definition Classes
- EventHandlerDelegate
-
def
removeEventHandler[E <: Event](eventType: EventType[E], eventHandler: EventHandler[_ >: E]): Unit
Unregisters a previously registered event handler from this task.
Unregisters a previously registered event handler from this task. 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.
- E
Event class
- eventType
the event type from which to unregister
- eventHandler
the handler to unregister
- Definition Classes
- EventHandlerDelegate
-
def
resizable: BooleanProperty
Used to indicate whether the width of this column can change.
Used to indicate whether the width of this column can change.
- Definition Classes
- TableColumnBase
-
def
resizable_=(v: Boolean): Unit
- Definition Classes
- TableColumnBase
-
def
sortNode: ObjectProperty[javafx.scene.Node]
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.
- Definition Classes
- TableColumnBase
-
def
sortNode_=(v: Node): Unit
- Definition Classes
- TableColumnBase
-
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.
- def sortType_=(v: SortType): Unit
-
def
sortable: BooleanProperty
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.
- Definition Classes
- TableColumnBase
-
def
sortable_=(v: Boolean): Unit
- Definition Classes
- TableColumnBase
-
def
style: StringProperty
The CSS style string associated to this TableColumnBase.
The CSS style string associated to this TableColumnBase.
- Definition Classes
- TableColumnBase
-
def
styleClass: ObservableBuffer[String]
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.
- Definition Classes
- Styleable
-
def
style_=(v: String): Unit
- Definition Classes
- TableColumnBase
-
def
styleableParent: Styleable
Return the parent of this Styleable, or null if there is no parent.
Return the parent of this Styleable, or null if there is no parent.
- returns
getTreeTableView()
- Definition Classes
- TreeTableColumn → Styleable
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
text: StringProperty
This is the text to show in the header for this column.
This is the text to show in the header for this column.
- Definition Classes
- TableColumnBase
-
def
text_=(v: String): Unit
- Definition Classes
- TableColumnBase
-
def
toString(): String
- returns
Returns the original delegate's
toString()
adding a[SFX]
prefix.
- Definition Classes
- SFXDelegate → AnyRef → Any
-
def
treeTableView: ReadOnlyObjectProperty[javafx.scene.control.TreeTableView[S]]
The TreeTableView that this TreeTableColumn belongs to.
-
def
typeSelector: String
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. This is analogous to an "element" in HTML. (CSS Type Selector).
- returns
"TreeTableColumn"
- Definition Classes
- TreeTableColumn → 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.
- Definition Classes
- TableColumnBase
-
def
visible: BooleanProperty
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.
- Definition Classes
- TableColumnBase
-
def
visible_=(v: Boolean): Unit
- Definition Classes
- TableColumnBase
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
width: ReadOnlyDoubleProperty
The width of this column.
The width of this column.
- Definition Classes
- TableColumnBase
ScalaFX is a UI DSL written within the Scala Language that sits on top of JavaFX 2.x and and JavaFX 8. This means that every ScalaFX application is also a valid Scala application. By extension it supports full interoperability with Java and can run anywhere the Java Virtual Machine (JVM) and JavaFX 2.0 or JavaFX 8 are supported.
Package Structure
ScalaFX package structure corresponds to JavaFX package structure, for instance
scalafx.animation
corresponds tojavafx.animation
.Example Usage
A basic ScalaFX application is created creating an object that is an instance of
JFXApp
. Following Java FX theatre metaphor, it contains astage
that contains ascene
. Astage
roughly corresponds to a window in a typical UI environment. Thescene
holds UI content presented to the user. In the example below, the content is a pane with a singlelabel
component.