ObservableValue

scalafx.beans.value.ObservableValue
See theObservableValue companion object
trait ObservableValue[T, J] extends Observable, SFXDelegate[ObservableValue[J]]

An ObservableValue is an entity that wraps a value and allows to observe the value for changes.

Type parameters

J

Indicates Java type to be wrapped by T. Eventually T and J could be the same.

T

Indicates Scala type that will be returned for this Observable.

Attributes

Companion
object
Graph
Supertypes
trait Observable
trait SFXDelegate[ObservableValue[J]]
class Object
trait Matchable
class Any
Known subtypes

Members list

Value members

Abstract methods

def value: T

Returns ObservableValue

Returns ObservableValue

Attributes

Returns

ObservableValue

Concrete methods

def apply(): T

Returns ObservableValue

Returns ObservableValue

Attributes

Returns

ObservableValue

def onChange[J1 >: J](op: (ObservableValue[T, J], J1, J1) => Unit): Subscription

Adds a function as a `ChangeListener`. This function has all arguments from T, T) `changed` method from ChangeListener.

Adds a function as a `ChangeListener`. This function has all arguments from T, T) `changed` method from ChangeListener.

Type parameters

J1

J superclass.

Value parameters

op

Function that receives a `ObservableValue`, the old value and the new value. It will be called when value changes.

Attributes

Returns

A new scalafx.event.subscriptions.Subscription to remove ObservableValue.

def onChange[J1 >: J](op: => Unit): Subscription

Adds a function as a `ChangeListener`. This function has no arguments because it will not handle values changed.

Adds a function as a `ChangeListener`. This function has no arguments because it will not handle values changed.

Value parameters

op

A Function with no arguments. It will be called when value changes.

Attributes

Returns

A new scalafx.event.subscriptions.Subscription to remove ObservableValue.

def when(condition: ObservableValue[Boolean, Boolean]): ObservableValue[J, J]

Returns an ObservableValue that holds this value and is updated only when condition holds true.

Returns an ObservableValue that holds this value and is updated only when condition holds true.

The returned ObservableValue only observes this value when condition holds true. This allows this ObservableValue and the conditional ObservableValue to be garbage collected if neither is otherwise strongly referenced when condition holds false. This is in contrast to the general behavior of bindings, where the binding is only eligible for garbage collection when not observed itself.

A condition holding null is treated as holding false.

For example:

  val condition         = BooleanProperty(true)
  val longLivedProperty = StringProperty("A")
  val whenProperty      = longLivedProperty.when(condition)

  // observe whenProperty, which will in turn observe longLivedProperty
  whenProperty.onChange((_, old, current) => println(s"whenProperty change : $old -> $current"));

  longLivedProperty.value = "B" // "B" is printed

  condition.value = false

  // After condition becomes false, whenProperty stops observing longLivedProperty; condition
  // and whenProperty may now be eligible for GC despite being observed by the ChangeListener
  longLivedProperty.value = "C" // nothing is printed
  longLivedProperty.value = "D" // nothing is printed

  condition.value = true // longLivedProperty is observed again, and "D" is printed

Value parameters

condition

a boolean ObservableValue, cannot be null

Attributes

Returns

an ObservableValue that holds this value whenever the given condition evaluates to true, otherwise holds the last seen value; never returns null

Since

20

Inherited methods

def delegate: D

JavaFX object to be wrapped.

JavaFX object to be wrapped.

Attributes

Inherited from:
SFXDelegate
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
override def hashCode: Int

Attributes

Returns

The delegate hashcode

Definition Classes
SFXDelegate -> Any
Inherited from:
SFXDelegate

Adds a no argument function as a JavaFX `InvalidationListener`. This function has no arguments because it will not handle invalidated values.

Adds a no argument function as a JavaFX `InvalidationListener`. This function has no arguments because it will not handle invalidated values.

Value parameters

op

A Function with no arguments. It will be called when value was invalidated.

Attributes

Returns

A new scalafx.event.subscriptions.Subscription to remove JavaFX InvalidationListener.

Inherited from:
Observable

Adds a function as a JavaFX `InvalidationListener`. This function has all arguments from `invalidated` method from InvalidationListener.

Adds a function as a JavaFX `InvalidationListener`. This function has all arguments from `invalidated` method from InvalidationListener.

Value parameters

op

Function that receives a ScalaFX Observable. It will be called when value was invalidated.

Attributes

Returns

A new scalafx.event.subscriptions.Subscription to remove JavaFX InvalidationListener.

Inherited from:
Observable
override def toString: String

Attributes

Returns

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

Definition Classes
SFXDelegate -> Any
Inherited from:
SFXDelegate