## Uses of Interface
javafx.beans.Observable

- Packages that use Observable
  Package | Description
  --- | ---
  javafx.beans | The package `javafx.beans` contains the interfaces that define the most generic form of observability.
  javafx.beans.binding | Characteristics of Bindings
  javafx.beans.property | The package `javafx.beans.property` defines read-only properties and writable properties, plus a number of implementations.
  javafx.beans.property.adapter |
  javafx.beans.value | The package `javafx.beans.value` contains the two fundamental interfaces `ObservableValue` and `WritableValue` and all of its sub-interfaces.
  javafx.collections | Contains the essential JavaFX collections and collection utilities
  javafx.collections.transformation |
  javafx.css | Provides API for making properties styleable via CSS and for supporting pseudo-class state.
  javafx.scene.control | The JavaFX User Interface Controls (UI Controls or just Controls) are specialized Nodes in the JavaFX Scenegraph especially suited for reuse in many different application contexts.
  javafx.scene.shape | Provides the set of 2D classes for defining and performing operations on objects related to two-dimensional geometry.

- - ### Uses of Observable in javafx.beans

    Methods in javafx.beans with parameters of type Observable
    Modifier and Type | Method and Description
    --- | ---
    `void` | WeakInvalidationListener.`invalidated(Observable observable)` This method needs to be provided by an implementation of `InvalidationListener`.
    `void` | InvalidationListener.`invalidated(Observable observable)` This method needs to be provided by an implementation of `InvalidationListener`.

  - ### Uses of Observable in javafx.beans.binding

    Subinterfaces of Observable in javafx.beans.binding
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `Binding<T>` A `Binding` calculates a value that depends on one or more sources.
    `interface` | `NumberBinding` A tagging interface to mark all Bindings that wrap a number-value.
    `interface` | `NumberExpression` A `NumberExpression` is a `ObservableNumberValue` plus additional convenience methods to generate bindings in a fluent style.

    Classes in javafx.beans.binding that implement Observable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BooleanBinding` Base class that provides most of the functionality needed to implement a `Binding` of a `boolean` value.
    `class` | `BooleanExpression` A `BooleanExpression` is a `ObservableBooleanValue` plus additional convenience methods to generate bindings in a fluent style.
    `class` | `DoubleBinding` Base class that provides most of the functionality needed to implement a `Binding` of a `double` value.
    `class` | `DoubleExpression` A `DoubleExpression` is a `ObservableDoubleValue` plus additional convenience methods to generate bindings in a fluent style.
    `class` | `FloatBinding` Base class that provides most of the functionality needed to implement a `Binding` of a `float` value.
    `class` | `FloatExpression` A `FloatExpression` is a `ObservableFloatValue` plus additional convenience methods to generate bindings in a fluent style.
    `class` | `IntegerBinding` Base class that provides most of the functionality needed to implement a `Binding` of an `int` value.
    `class` | `IntegerExpression` A `IntegerExpression` is a `ObservableIntegerValue` plus additional convenience methods to generate bindings in a fluent style.
    `class` | `ListBinding<E>` Base class that provides most of the functionality needed to implement a `Binding` of an `ObservableList`.
    `class` | `ListExpression<E>` A `ListExpression` is a `ObservableListValue` plus additional convenience methods to generate bindings in a fluent style.
    `class` | `LongBinding` Base class that provides most of the functionality needed to implement a `Binding` of a `long` value.
    `class` | `LongExpression` A `LongExpression` is a `ObservableLongValue` plus additional convenience methods to generate bindings in a fluent style.
    `class` | `MapBinding<K,V>` Base class that provides most of the functionality needed to implement a `Binding` of an `ObservableMap`.
    `class` | `MapExpression<K,V>` A `MapExpression` is a `ObservableMapValue` plus additional convenience methods to generate bindings in a fluent style.
    `class` | `NumberExpressionBase` A `NumberExpressionBase` contains convenience methods to generate bindings in a fluent style, that are common to all NumberExpression subclasses.
    `class` | `ObjectBinding<T>` Base class that provides most of the functionality needed to implement a `Binding` of an `Object`.
    `class` | `ObjectExpression<T>` A `ObjectExpression` is a `ObservableObjectValue` plus additional convenience methods to generate bindings in a fluent style.
    `class` | `SetBinding<E>` Base class that provides most of the functionality needed to implement a `Binding` of an `ObservableSet`.
    `class` | `SetExpression<E>` A `SetExpression` is a `ObservableSetValue` plus additional convenience methods to generate bindings in a fluent style.
    `class` | `StringBinding` Base class that provides most of the functionality needed to implement a `Binding` of a `String`.
    `class` | `StringExpression` A `StringExpression` is a `ObservableStringValue` plus additional convenience methods to generate bindings in a fluent style.

    Methods in javafx.beans.binding with parameters of type Observable
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | StringBinding.`bind(Observable... dependencies)` Start observing the dependencies for changes.
    `protected void` | SetBinding.`bind(Observable... dependencies)` Start observing the dependencies for changes.
    `protected void` | ObjectBinding.`bind(Observable... dependencies)` Start observing the dependencies for changes.
    `protected void` | MapBinding.`bind(Observable... dependencies)` Start observing the dependencies for changes.
    `protected void` | LongBinding.`bind(Observable... dependencies)` Start observing the dependencies for changes.
    `protected void` | ListBinding.`bind(Observable... dependencies)` Start observing the dependencies for changes.
    `protected void` | IntegerBinding.`bind(Observable... dependencies)` Start observing the dependencies for changes.
    `protected void` | FloatBinding.`bind(Observable... dependencies)` Start observing the dependencies for changes.
    `protected void` | DoubleBinding.`bind(Observable... dependencies)` Start observing the dependencies for changes.
    `protected void` | BooleanBinding.`bind(Observable... dependencies)` Start observing the dependencies for changes.
    `static BooleanBinding` | Bindings.`createBooleanBinding(Callable<Boolean> func, Observable... dependencies)` Helper function to create a custom `BooleanBinding`.
    `static DoubleBinding` | Bindings.`createDoubleBinding(Callable<Double> func, Observable... dependencies)` Helper function to create a custom `DoubleBinding`.
    `static FloatBinding` | Bindings.`createFloatBinding(Callable<Float> func, Observable... dependencies)` Helper function to create a custom `FloatBinding`.
    `static IntegerBinding` | Bindings.`createIntegerBinding(Callable<Integer> func, Observable... dependencies)` Helper function to create a custom `IntegerBinding`.
    `static LongBinding` | Bindings.`createLongBinding(Callable<Long> func, Observable... dependencies)` Helper function to create a custom `LongBinding`.
    `static <T> ObjectBinding<T>` | Bindings.`createObjectBinding(Callable<T> func, Observable... dependencies)` Helper function to create a custom `ObjectBinding`.
    `static StringBinding` | Bindings.`createStringBinding(Callable<String> func, Observable... dependencies)` Helper function to create a custom `StringBinding`.
    `protected void` | StringBinding.`unbind(Observable... dependencies)` Stop observing the dependencies for changes.
    `protected void` | SetBinding.`unbind(Observable... dependencies)` Stop observing the dependencies for changes.
    `protected void` | ObjectBinding.`unbind(Observable... dependencies)` Stop observing the dependencies for changes.
    `protected void` | MapBinding.`unbind(Observable... dependencies)` Stop observing the dependencies for changes.
    `protected void` | LongBinding.`unbind(Observable... dependencies)` Stop observing the dependencies for changes.
    `protected void` | ListBinding.`unbind(Observable... dependencies)` Stop observing the dependencies for changes.
    `protected void` | IntegerBinding.`unbind(Observable... dependencies)` Stop observing the dependencies for changes.
    `protected void` | FloatBinding.`unbind(Observable... dependencies)` Stop observing the dependencies for changes.
    `protected void` | DoubleBinding.`unbind(Observable... dependencies)` Stop observing the dependencies for changes.
    `protected void` | BooleanBinding.`unbind(Observable... dependencies)` Stop observing the dependencies for changes.

  - ### Uses of Observable in javafx.beans.property

    Subinterfaces of Observable in javafx.beans.property
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `Property<T>` Generic interface that defines the methods common to all (writable) properties independent of their type.
    `interface` | `ReadOnlyProperty<T>` Generic interface that defines the methods common to all readable properties independent of their type.

    Classes in javafx.beans.property that implement Observable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `BooleanProperty` This class provides a full implementation of a `Property` wrapping a `boolean` value.
    `class` | `BooleanPropertyBase` The class `BooleanPropertyBase` is the base class for a property wrapping a `boolean` value.
    `class` | `DoubleProperty` This class defines a `Property` wrapping a `double` value.
    `class` | `DoublePropertyBase` The class `DoublePropertyBase` is the base class for a property wrapping a `double` value.
    `class` | `FloatProperty` This class defines a `Property` wrapping a `float` value.
    `class` | `FloatPropertyBase` The class `FloatPropertyBase` is the base class for a property wrapping a `float` value.
    `class` | `IntegerProperty` This class defines a `Property` wrapping an `int` value.
    `class` | `IntegerPropertyBase` The class `IntegerPropertyBase` is the base class for a property wrapping a `int` value.
    `class` | `ListProperty<E>` This class provides a full implementation of a `Property` wrapping a `ObservableList`.
    `class` | `ListPropertyBase<E>` The class `ListPropertyBase` is the base class for a property wrapping an `ObservableList`.
    `class` | `LongProperty` This class defines a `Property` wrapping a `long` value.
    `class` | `LongPropertyBase` The class `LongPropertyBase` is the base class for a property wrapping a `long` value.
    `class` | `MapProperty<K,V>` This class provides a full implementation of a `Property` wrapping a `ObservableMap`.
    `class` | `MapPropertyBase<K,V>` The class `MapPropertyBase` is the base class for a property wrapping an `ObservableMap`.
    `class` | `ObjectProperty<T>` This class provides a full implementation of a `Property` wrapping an arbitrary `Object`.
    `class` | `ObjectPropertyBase<T>` The class `ObjectPropertyBase` is the base class for a property wrapping an arbitrary `Object`.
    `class` | `ReadOnlyBooleanProperty` Super class for all readonly properties wrapping a `boolean`.
    `class` | `ReadOnlyBooleanPropertyBase` Base class for all readonly properties wrapping a `boolean`.
    `class` | `ReadOnlyBooleanWrapper` This class provides a convenient class to define read-only properties.
    `class` | `ReadOnlyDoubleProperty` Super class for all readonly properties wrapping a `double`.
    `class` | `ReadOnlyDoublePropertyBase` Base class for all readonly properties wrapping a `double`.
    `class` | `ReadOnlyDoubleWrapper` This class provides a convenient class to define read-only properties.
    `class` | `ReadOnlyFloatProperty` Super class for all readonly properties wrapping a `float`.
    `class` | `ReadOnlyFloatPropertyBase` Base class for all readonly properties wrapping a `float`.
    `class` | `ReadOnlyFloatWrapper` This class provides a convenient class to define read-only properties.
    `class` | `ReadOnlyIntegerProperty` Super class for all readonly properties wrapping an `int`.
    `class` | `ReadOnlyIntegerPropertyBase` Base class for all readonly properties wrapping an `int`.
    `class` | `ReadOnlyIntegerWrapper` This class provides a convenient class to define read-only properties.
    `class` | `ReadOnlyListProperty<E>` Super class for all readonly properties wrapping an `ObservableList`.
    `class` | `ReadOnlyListPropertyBase<E>` Base class for all readonly properties wrapping a `ObservableList`.
    `class` | `ReadOnlyListWrapper<E>` This class provides a convenient class to define read-only properties.
    `class` | `ReadOnlyLongProperty` Super class for all readonly properties wrapping a `long`.
    `class` | `ReadOnlyLongPropertyBase` Base class for all readonly properties wrapping a `long`.
    `class` | `ReadOnlyLongWrapper` This class provides a convenient class to define read-only properties.
    `class` | `ReadOnlyMapProperty<K,V>` Super class for all readonly properties wrapping an `ObservableMap`.
    `class` | `ReadOnlyMapPropertyBase<K,V>` Base class for all readonly properties wrapping an `ObservableMap`.
    `class` | `ReadOnlyMapWrapper<K,V>` This class provides a convenient class to define read-only properties.
    `class` | `ReadOnlyObjectProperty<T>` Super class for all readonly properties wrapping an arbitrary `Object`.
    `class` | `ReadOnlyObjectPropertyBase<T>` Base class for all readonly properties wrapping an arbitrary `Object`.
    `class` | `ReadOnlyObjectWrapper<T>` This class provides a convenient class to define read-only properties.
    `class` | `ReadOnlySetProperty<E>` Super class for all readonly properties wrapping an `ObservableSet`.
    `class` | `ReadOnlySetPropertyBase<E>` Base class for all readonly properties wrapping an `ObservableSet`.
    `class` | `ReadOnlySetWrapper<E>` This class provides a convenient class to define read-only properties.
    `class` | `ReadOnlyStringProperty` Super class for all readonly properties wrapping an `String`.
    `class` | `ReadOnlyStringPropertyBase` Base class for all readonly properties wrapping a `String`.
    `class` | `ReadOnlyStringWrapper` This class provides a convenient class to define read-only properties.
    `class` | `SetProperty<E>` This class provides a full implementation of a `Property` wrapping a `ObservableSet`.
    `class` | `SetPropertyBase<E>` The class `SetPropertyBase` is the base class for a property wrapping an `ObservableSet`.
    `class` | `SimpleBooleanProperty` This class provides a full implementation of a `Property` wrapping a `boolean` value.
    `class` | `SimpleDoubleProperty` This class provides a full implementation of a `Property` wrapping a `double` value.
    `class` | `SimpleFloatProperty` This class provides a full implementation of a `Property` wrapping a `float` value.
    `class` | `SimpleIntegerProperty` This class provides a full implementation of a `Property` wrapping a `int` value.
    `class` | `SimpleListProperty<E>` This class provides a full implementation of a `Property` wrapping an `ObservableList`.
    `class` | `SimpleLongProperty` This class provides a full implementation of a `Property` wrapping a `long` value.
    `class` | `SimpleMapProperty<K,V>` This class provides a full implementation of a `Property` wrapping an `ObservableMap`.
    `class` | `SimpleObjectProperty<T>` This class provides a full implementation of a `Property` wrapping an arbitrary `Object`.
    `class` | `SimpleSetProperty<E>` This class provides a full implementation of a `Property` wrapping an `ObservableSet`.
    `class` | `SimpleStringProperty` This class provides a full implementation of a `Property` wrapping a `String` value.
    `class` | `StringProperty` This class provides a full implementation of a `Property` wrapping a `String` value.
    `class` | `StringPropertyBase` The class `StringPropertyBase` is the base class for a property wrapping a `String` value.

  - ### Uses of Observable in javafx.beans.property.adapter

    Subinterfaces of Observable in javafx.beans.property.adapter
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `JavaBeanProperty<T>` `JavaBeanProperty&lt;T&gt;` is the super interface of all adapters between writable Java Bean properties and JavaFX properties.
    `interface` | `ReadOnlyJavaBeanProperty<T>` `JavaBeanProperty&lt;T&gt;` is the super interface of all adapters between readonly Java Bean properties and JavaFX properties.

    Classes in javafx.beans.property.adapter that implement Observable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `JavaBeanBooleanProperty` A `JavaBeanBooleanProperty` provides an adapter between a regular Java Bean property of type `boolean` or `Boolean` and a JavaFX `BooleanProperty`.
    `class` | `JavaBeanDoubleProperty` A `JavaBeanDoubleProperty` provides an adapter between a regular Java Bean property of type `double` or `Double` and a JavaFX `DoubleProperty`.
    `class` | `JavaBeanFloatProperty` A `JavaBeanFloatProperty` provides an adapter between a regular Java Bean property of type `float` or `Float` and a JavaFX `FloatProperty`.
    `class` | `JavaBeanIntegerProperty` A `JavaBeanIntegerProperty` provides an adapter between a regular Java Bean property of type `int` or `Integer` and a JavaFX `IntegerProperty`.
    `class` | `JavaBeanLongProperty` A `JavaBeanLongProperty` provides an adapter between a regular Java Bean property of type `long` or `Long` and a JavaFX `LongProperty`.
    `class` | `JavaBeanObjectProperty<T>` A `JavaBeanObjectProperty` provides an adapter between a regular Java Bean property of type `T` and a JavaFX `ObjectProperty<T>`.
    `class` | `JavaBeanStringProperty` A `JavaBeanStringProperty` provides an adapter between a regular Java Bean property of type `String` and a JavaFX `StringProperty`.
    `class` | `ReadOnlyJavaBeanBooleanProperty` A `ReadOnlyJavaBeanBooleanProperty` provides an adapter between a regular read only Java Bean property of type `boolean` or `Boolean` and a JavaFX `ReadOnlyBooleanProperty`.
    `class` | `ReadOnlyJavaBeanDoubleProperty` A `ReadOnlyJavaBeanDoubleProperty` provides an adapter between a regular read only Java Bean property of type `double` or `Double` and a JavaFX `ReadOnlyDoubleProperty`.
    `class` | `ReadOnlyJavaBeanFloatProperty` A `ReadOnlyJavaBeanFloatProperty` provides an adapter between a regular read only Java Bean property of type `float` or `Float` and a JavaFX `ReadOnlyFloatProperty`.
    `class` | `ReadOnlyJavaBeanIntegerProperty` A `ReadOnlyJavaBeanIntegerProperty` provides an adapter between a regular read only Java Bean property of type `int` or `Integer` and a JavaFX `ReadOnlyIntegerProperty`.
    `class` | `ReadOnlyJavaBeanLongProperty` A `ReadOnlyJavaBeanLongProperty` provides an adapter between a regular read only Java Bean property of type `long` or `Long` and a JavaFX `ReadOnlyLongProperty`.
    `class` | `ReadOnlyJavaBeanObjectProperty<T>` A `ReadOnlyJavaBeanObjectProperty` provides an adapter between a regular read only Java Bean property of `T` and a JavaFX `ReadOnlyObjectProperty`.
    `class` | `ReadOnlyJavaBeanStringProperty` A `ReadOnlyJavaBeanStringProperty` provides an adapter between a regular read only Java Bean property of type `String` and a JavaFX `ReadOnlyStringProperty`.

  - ### Uses of Observable in javafx.beans.value

    Subinterfaces of Observable in javafx.beans.value
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `ObservableBooleanValue` An observable boolean value.
    `interface` | `ObservableDoubleValue` An observable double value.
    `interface` | `ObservableFloatValue` An observable float value.
    `interface` | `ObservableIntegerValue` An observable integer value.
    `interface` | `ObservableListValue<E>` An observable reference to an `ObservableList`.
    `interface` | `ObservableLongValue` An observable long value.
    `interface` | `ObservableMapValue<K,V>` An observable reference to an `ObservableMap`.
    `interface` | `ObservableNumberValue` A common interface of all sub-interfaces of `ObservableValue` that wrap a number.
    `interface` | `ObservableObjectValue<T>` An observable typed `Object` value.
    `interface` | `ObservableSetValue<E>` An observable reference to an `ObservableSet`.
    `interface` | `ObservableStringValue` An observable String value.
    `interface` | `ObservableValue<T>` An `ObservableValue` is an entity that wraps a value and allows to observe the value for changes.
    `interface` | `WritableListValue<E>` A writable reference to an `ObservableList`.
    `interface` | `WritableMapValue<K,V>` A writable reference to an `ObservableMap`.
    `interface` | `WritableSetValue<E>` A writable reference to an `ObservableSet`.

    Classes in javafx.beans.value that implement Observable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ObservableValueBase<T>` A convenience class for creating implementations of `ObservableValue`.

  - ### Uses of Observable in javafx.collections

    Subinterfaces of Observable in javafx.collections
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `ObservableArray<T extends ObservableArray<T>>` `ObservableArray` is an array that allows listeners to track changes when they occur.
    `interface` | `ObservableFloatArray` `ObservableFloatArray` is a `float[]` array that allows listeners to track changes when they occur.
    `interface` | `ObservableIntegerArray` `ObservableIntegerArray` is a `int[]` array that allows listeners to track changes when they occur.
    `interface` | `ObservableList<E>` A list that allows listeners to track changes when they occur.
    `interface` | `ObservableMap<K,V>` A map that allows observers to track changes when they occur.
    `interface` | `ObservableSet<E>` A set that allows observers to track changes when they occur.

    Classes in javafx.collections that implement Observable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `ModifiableObservableListBase<E>` Abstract class that serves as a base class for `ObservableList` implementations that are modifiable.
    `class` | `ObservableArrayBase<T extends ObservableArray<T>>` Abstract class that serves as a base class for `ObservableArray` implementations.
    `class` | `ObservableListBase<E>` Abstract class that serves as a base class for `ObservableList` implementations.

  - ### Uses of Observable in javafx.collections.transformation

    Classes in javafx.collections.transformation that implement Observable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `FilteredList<E>` Wraps an ObservableList and filters it's content using the provided Predicate.
    `class` | `SortedList<E>` Wraps an ObservableList and sorts it's content.
    `class` | `TransformationList<E,F>` A base class for all lists that wraps other lists in a way that changes the list's elements, order, size or generally it's structure.

  - ### Uses of Observable in javafx.css

    Classes in javafx.css that implement Observable
    Modifier and Type | Class and Description
    --- | ---
    `class` | `SimpleStyleableBooleanProperty` This class extends `SimpleBooleanProperty` and provides a full implementation of a `StyleableProperty`.
    `class` | `SimpleStyleableDoubleProperty` This class extends `SimpleDoubleProperty` and provides a full implementation of a `StyleableProperty`.
    `class` | `SimpleStyleableFloatProperty` This class extends `SimpleFloatProperty` and provides a full implementation of a `StyleableProperty`.
    `class` | `SimpleStyleableIntegerProperty` This class extends `SimpleIntegerProperty` and provides a full implementation of a `StyleableProperty`.
    `class` | `SimpleStyleableLongProperty` This class extends `SimpleLongProperty` and provides a full implementation of a `StyleableProperty`.
    `class` | `SimpleStyleableObjectProperty<T>` This class extends `SimpleObjectProperty` and provides a full implementation of a `StyleableProperty`.
    `class` | `SimpleStyleableStringProperty` This class extends `SimpleStringProperty` and provides a full implementation of a `StyleableProperty`.
    `class` | `StyleableBooleanProperty` This class extends `BooleanPropertyBase` and provides a partial implementation of a `StyleableProperty`.
    `class` | `StyleableDoubleProperty` This class extends `DoublePropertyBase` and provides a partial implementation of a `StyleableProperty`.
    `class` | `StyleableFloatProperty` This class extends `FloatPropertyBase` and provides a partial implementation of a `StyleableProperty`.
    `class` | `StyleableIntegerProperty` This class extends `IntegerPropertyBase` and provides a partial implementation of a `StyleableProperty`.
    `class` | `StyleableLongProperty` This class extends `LongPropertyBase` and provides a partial implementation of a `StyleableProperty`.
    `class` | `StyleableObjectProperty<T>` This class extends `ObjectPropertyBase` and provides a partial implementation of a `StyleableProperty`.
    `class` | `StyleableStringProperty` This class extends `StringPropertyBase` and provides a partial implementation of a `StyleableProperty`.

  - ### Uses of Observable in javafx.scene.control

    Subinterfaces of Observable in javafx.scene.control
    Modifier and Type | Interface and Description
    --- | ---
    `protected static interface` | `TextInputControl.Content` Interface representing a text input's content.

  - ### Uses of Observable in javafx.scene.shape

    Subinterfaces of Observable in javafx.scene.shape
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `ObservableFaceArray` `ObservableFaceArray` is a `int[]` array that allows listeners to track changes when they occur.

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 2008, 2017, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.