# Package javafx.beans

package javafx.beans

The package `javafx.beans` contains the interfaces that define the most generic form of observability. All other classes in the JavaFX library, that are observable, extend the `Observable` interface.

An implementation of `Observable` allows to attach an `InvalidationListener`. The contentBinding gets notified every time the `Observable` may have changed. Typical implementations of `Observable` are all properties, all bindings, `ObservableList`, and `ObservableMap`.

An `InvalidationListener` will get no further information, e.g. it will not get the old and the new value of a property. If you need more information consider using a `ChangeListener` for properties and bindings, `ListChangeListener` for `ObservableLists` or `MapChangeListener` for `ObservableMap` instead.

- Related Packages
  Package
  Description
  javafx.beans.binding
  Provides classes that create and operate on a `Binding` that calculates a value that depends on one or more sources.
  javafx.beans.property
  The package `javafx.beans.property` defines read-only properties and writable properties, plus a number of implementations.
  javafx.beans.value
  The package `javafx.beans.value` contains the two fundamental interfaces `ObservableValue` and `WritableValue` and all of its sub-interfaces.
- Class
  Description
  DefaultProperty
  Specifies a property to which child elements will be added or set when an explicit property is not given.
  InvalidationListener
  An `InvalidationListener` is notified whenever an `Observable` becomes invalid.
  NamedArg
  Annotation that provides information about argument's name.
  Observable
  An `Observable` is an entity that wraps content and allows to observe the content for invalidations.
  WeakInvalidationListener
  A `WeakInvalidationListener` can be used if an `Observable` should only maintain a weak reference to the listener.
  WeakListener
  `WeakListener` is the super interface of all weak listener implementations in the JavaFX API.