trait ObservableValue[T, J] extends Observable with SFXDelegate[javafx.beans.value.ObservableValue[J]]
An ObservableValue is an entity that wraps a value and allows to observe the value for changes.
- T
Indicates Scala type that will be returned for this Observable.
- J
Indicates Java type to be wrapped by T. Eventually T and J could be the same.
- Source
- ObservableValue.scala
- Alphabetic
- By Inheritance
- ObservableValue
- Observable
- SFXDelegate
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
delegate: javafx.beans.value.ObservableValue[J]
JavaFX object to be wrapped.
JavaFX object to be wrapped.
- Definition Classes
- SFXDelegate
-
abstract
def
value: T
Returns
ObservableValue
Returns
ObservableValue
- returns
ObservableValue
Concrete Value Members
-
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
apply(): T
Returns
ObservableValue
Returns
ObservableValue
- returns
ObservableValue
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
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
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- returns
The delegate hashcode
- Definition Classes
- SFXDelegate → AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
def
onChange[J1 >: J](op: ⇒ Unit): Subscription
Adds a function as a
ChangeListener
.Adds a function as a
ChangeListener
. This function has no arguments because it will not handle values changed.- op
A Function with no arguments. It will be called when value changes.
- returns
A new scalafx.event.subscriptions.Subscription to remove
ObservableValue
.
-
def
onChange[J1 >: J](op: (ObservableValue[T, J], J1, J1) ⇒ Unit): Subscription
Adds a function as a
ChangeListener
.Adds a function as a
ChangeListener
. This function has all arguments from T, T)changed
method fromChangeListener
.- J1
J superclass.
- op
Function that receives a
ObservableValue
, the old value and the new value. It will be called when value changes.- returns
A new scalafx.event.subscriptions.Subscription to remove
ObservableValue
.
-
def
onInvalidate(op: ⇒ Unit): Subscription
Adds a no argument function as a JavaFX
InvalidationListener
.Adds a no argument function as a JavaFX
InvalidationListener
. This function has no arguments because it will not handle invalidated values.- op
A Function with no arguments. It will be called when value was invalidated.
- returns
A new scalafx.event.subscriptions.Subscription to remove JavaFX
InvalidationListener
.
- Definition Classes
- Observable
-
def
onInvalidate(op: (Observable) ⇒ Unit): Subscription
Adds a function as a JavaFX
InvalidationListener
.Adds a function as a JavaFX
InvalidationListener
. This function has all arguments frominvalidated
method fromInvalidationListener
.- op
Function that receives a ScalaFX
Observable
. It will be called when value was invalidated.- returns
A new scalafx.event.subscriptions.Subscription to remove JavaFX
InvalidationListener
.
- Definition Classes
- Observable
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- returns
Returns the original delegate's
toString()
adding a[SFX]
prefix.
- Definition Classes
- SFXDelegate → AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
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()
-
def
when(condition: ObservableValue[Boolean, Boolean]): ObservableValue[J, J]
Returns an
ObservableValue
that holds this value and is updated only whencondition
holdstrue
.Returns an
ObservableValue
that holds this value and is updated only whencondition
holdstrue
.The returned
ObservableValue
only observes this value whencondition
holdstrue
. This allows thisObservableValue
and the conditionalObservableValue
to be garbage collected if neither is otherwise strongly referenced whencondition
holdsfalse
. 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
holdingnull
is treated as holdingfalse
.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
- condition
a boolean
ObservableValue
, cannot benull
- returns
an
ObservableValue
that holds this value whenever the given condition evaluates totrue
, otherwise holds the last seen value; never returnsnull
- Since
20
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
JFXApp3
. 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.