class ObjectProperty[T] extends ReadOnlyObjectProperty[T] with Property[T, T] with SFXDelegate[javafx.beans.property.ObjectProperty[T]]
This class provides a full implementation of a Property wrapping an arbitrary Object.
It is recommended, as a work around for Issue 14, to use companion object factory methods to construct new instances, instead of using constructor directly, especially when an initial value is a ScalaFX wrapper, for instance:
import scalafx.scene.Cursor ... val p = ObjectProperty(Cursor.WAIT)
This assumes that will not provide property type but let Scala compiler infer correct one.
- Source
- ObjectProperty.scala
- Alphabetic
- By Inheritance
- ObjectProperty
- Property
- ReadOnlyObjectProperty
- ReadOnlyProperty
- ObservableValue
- Observable
- SFXDelegate
- ObjectExpression
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def ->(endVal: T): Tweenable[T, T]
Returns a new scalafx.animation.Tweenable from a End Value.
Returns a new scalafx.animation.Tweenable from a End Value.
- endVal
End Value
- returns
a new Tweenable with this Property and end value passed.
- Definition Classes
- Property
- def <==(v: ObservableValue[_ <: T, _ <: T]): Unit
Create a unidirectional binding for this Property.
Create a unidirectional binding for this Property.
- v
ScalaFX ObservableValue this Property should be bound to.
- Definition Classes
- Property
- def <==(v: ObservableValue[_ <: T]): Unit
Create a unidirectional binding for this Property.
Create a unidirectional binding for this Property.
- v
JavaFX ObservableValue this Property should be bound to.
- Definition Classes
- Property
- def <==>(v: javafx.beans.property.Property[T]): Unit
Create a bidirectional binding between this Property and another JavaFX Property.
Create a bidirectional binding between this Property and another JavaFX Property.
- v
the other JavaFX Property
- Definition Classes
- Property
- def <==>(v: Property[T, T]): Unit
Create a bidirectional binding between this Property and another ScalaFX Property.
Create a bidirectional binding between this Property and another ScalaFX Property.
- v
the other ScalaFX Property
- Definition Classes
- Property
- def =!=(v: AnyRef): BooleanBinding
- Definition Classes
- ObjectExpression
- def =!=[T](v: ObservableValue[T, T]): BooleanBinding
- Definition Classes
- ObjectExpression
- def =!=(v: ObservableObjectValue[_]): BooleanBinding
- Definition Classes
- ObjectExpression
- def =!=(v: Null): BooleanBinding
- Definition Classes
- ObjectExpression
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def ===(v: AnyRef): BooleanBinding
- Definition Classes
- ObjectExpression
- def ===[T](v: ObservableValue[T, T]): BooleanBinding
- Definition Classes
- ObjectExpression
- def ===(v: ObservableObjectValue[_]): BooleanBinding
- Definition Classes
- ObjectExpression
- def ===(v: Null): BooleanBinding
- Definition Classes
- ObjectExpression
- def apply(): T
Returns
ObservableValue
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def bean: AnyRef
Returns the Object that contains this property.
Returns the Object that contains this property.
- Definition Classes
- ReadOnlyProperty
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- val delegate: javafx.beans.property.ObjectProperty[T]
JavaFX object to be wrapped.
JavaFX object to be wrapped.
- Definition Classes
- ObjectProperty → ReadOnlyObjectProperty → SFXDelegate → ObjectExpression
- 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[_ <: AnyRef]
- 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
- def name: String
Returns the name of this property.
Returns the name of this property.
- Definition Classes
- ReadOnlyProperty
- 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 >: T](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
.
- Definition Classes
- ObservableValue
- def onChange[J1 >: T](op: (ObservableValue[T, T], 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
.
- Definition Classes
- 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
ObservableValue
.
- 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
ObservableValue
.
- Definition Classes
- Observable
- def select[T](s: String): ObjectBinding[T]
- Definition Classes
- ObjectExpression
- def selectBoolean(s: String): BooleanBinding
- Definition Classes
- ObjectExpression
- def selectDouble(s: String): DoubleBinding
- Definition Classes
- ObjectExpression
- def selectFloat(s: String): FloatBinding
- Definition Classes
- ObjectExpression
- def selectInteger(s: String): IntegerBinding
- Definition Classes
- ObjectExpression
- def selectLong(s: String): LongBinding
- Definition Classes
- ObjectExpression
- def selectString(s: String): StringBinding
- Definition Classes
- ObjectExpression
- 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
- def unbind(v: javafx.beans.property.Property[T]): Unit
Remove a bidirectional binding between this Property and another JavaFX one.
Remove a bidirectional binding between this Property and another JavaFX one. If no bidirectional binding between the properties exists, calling this method has no effect.
- v
- the other Property
- Definition Classes
- Property
- def unbind(v: Property[T, T]): Unit
Remove a bidirectional binding between this Property and another ScalaFX one.
Remove a bidirectional binding between this Property and another ScalaFX one. If no bidirectional binding between the properties exists, calling this method has no effect.
- v
- the other Property
- Definition Classes
- Property
- def unbind(): Unit
Remove the unidirectional binding for this Property.
Remove the unidirectional binding for this Property. If the Property is not bound, calling this method has no effect.
- Definition Classes
- Property
- def update(v: T): Unit
Set the wrapped value.
- def value: T
Returns
ObservableValue
Returns
ObservableValue
- returns
ObservableValue
- Definition Classes
- ReadOnlyObjectProperty → ObservableValue
- def value_=(v: T): Unit
Set the wrapped value.
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def when(condition: ObservableValue[Boolean, Boolean]): ObservableValue[T, T]
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
- Definition Classes
- ObservableValue
- 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.