- Type Parameters:
T
- type of the wrappedObject
- All Implemented Interfaces:
Observable
,JavaBeanProperty<T>
,ReadOnlyJavaBeanProperty<T>
,Property<T>
,ReadOnlyProperty<T>
,ObservableObjectValue<T>
,ObservableValue<T>
,WritableObjectValue<T>
,WritableValue<T>
public final class JavaBeanObjectProperty<T> extends ObjectProperty<T> implements JavaBeanProperty<T>
JavaBeanObjectProperty
provides an adapter between a regular
Java Bean property of type T
and a JavaFX
ObjectProperty<T>
. It cannot be created directly, but a
JavaBeanObjectPropertyBuilder
has to be used.
As a minimum, the Java Bean class must implement a getter and a setter for the
property.
The class, as well as the getter and a setter methods, must be declared public.
If the getter of an instance of this class is called, the property of
the Java Bean is returned. If the setter is called, the value will be passed
to the Java Bean property. If the Java Bean property is bound (i.e. it supports
PropertyChangeListeners), this JavaBeanObjectProperty
will be
aware of changes in the Java Bean. Otherwise it can be notified about
changes by calling ReadOnlyJavaBeanProperty.fireValueChangedEvent()
. If the Java Bean property
is also constrained (i.e. it supports VetoableChangeListeners), this
JavaBeanObjectProperty
will reject changes, if it is bound to an
ObservableValue<Object>
.
Deploying an Application as a Module
If the Java Bean class is in a named module, then it must be reflectively
accessible to the javafx.base
module.
A class is reflectively accessible if the module
opens
the containing package to at
least the javafx.base
module.
For example, if com.foo.MyBeanClass
is in the foo.app
module,
the module-info.java
might
look like this:
module foo.app {
opens com.foo to javafx.base;
}
Alternatively, a class is reflectively accessible if the module
exports
the containing package
unconditionally.
- Since:
- JavaFX 2.1
- See Also:
ObjectProperty
,JavaBeanObjectPropertyBuilder
-
Method Summary
Methods declared in class javafx.beans.binding.ObjectExpression
asString, asString, asString, isEqualTo, isEqualTo, isNotEqualTo, isNotEqualTo, isNotNull, isNull, objectExpression
Methods declared in class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods declared in interface javafx.beans.Observable
addListener, removeListener
Methods declared in interface javafx.beans.value.ObservableValue
addListener, getValue, removeListener
Methods declared in interface javafx.beans.property.Property
bind, bindBidirectional, isBound, unbind, unbindBidirectional
Methods declared in interface javafx.beans.property.adapter.ReadOnlyJavaBeanProperty
dispose, fireValueChangedEvent
Methods declared in interface javafx.beans.property.ReadOnlyProperty
getBean, getName
Methods declared in interface javafx.beans.value.WritableValue
getValue, setValue
-
Method Details
-
get
Get the wrapped value. This must be identical to the value returned fromWritableValue.getValue()
.This method exists only to align WritableObjectValue API with
WritableBooleanValue
and subclasses ofWritableNumberValue
- Specified by:
get
in interfaceObservableObjectValue<T>
- Specified by:
get
in interfaceWritableObjectValue<T>
- Returns:
- The current value
- Throws:
UndeclaredThrowableException
- if calling the getter of the Java Bean property throws anIllegalAccessException
or anInvocationTargetException
.
-
set
Set the wrapped value. Should be equivalent toWritableValue.setValue(java.lang.Object)
- Specified by:
set
in interfaceWritableObjectValue<T>
- Parameters:
value
- The new value- Throws:
UndeclaredThrowableException
- if calling the getter of the Java Bean property throws anIllegalAccessException
or anInvocationTargetException
.- See Also:
WritableObjectValue.get()
-
toString
Returns a string representation of thisJavaBeanObjectProperty
object.- Overrides:
toString
in classObjectProperty<T>
- Returns:
- a string representation of this
JavaBeanObjectProperty
object.
-