Module javafx.base

Class ReadOnlyJavaBeanStringProperty

All Implemented Interfaces:
Observable, ReadOnlyJavaBeanProperty<String>, ReadOnlyProperty<String>, ObservableObjectValue<String>, ObservableStringValue, ObservableValue<String>

public final class ReadOnlyJavaBeanStringProperty
extends ReadOnlyStringPropertyBase
implements ReadOnlyJavaBeanProperty<String>
A ReadOnlyJavaBeanStringProperty provides an adapter between a regular read only Java Bean property of type String and a JavaFX ReadOnlyStringProperty. It cannot be created directly, but a ReadOnlyJavaBeanStringPropertyBuilder has to be used.

As a minimum, the Java Bean class must implement a getter for the property. The class, as well as the getter method, 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 Java Bean property is bound (i.e. it supports PropertyChangeListeners), this ReadOnlyJavaBeanStringProperty will be aware of changes in the Java Bean. Otherwise it can be notified about changes by calling fireValueChangedEvent().

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:
ReadOnlyStringProperty, ReadOnlyJavaBeanStringPropertyBuilder