/*
 * Copyright (c) 2011, 2018, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Oracle designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Oracle in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

package javafx.beans.value;

A ChangeListener is notified whenever the value of an ObservableValue changes. It can be registered and unregistered with ObservableValue.addListener(ChangeListener) respectively ObservableValue.removeListener(ChangeListener)

For an in-depth explanation of change events and how they differ from invalidation events, see the documentation of ObservableValue.

The same instance of ChangeListener can be registered to listen to multiple ObservableValues.

See Also:
Since:JavaFX 2.0
/** * A {@code ChangeListener} is notified whenever the value of an * {@link ObservableValue} changes. It can be registered and unregistered with * {@link ObservableValue#addListener(ChangeListener)} respectively * {@link ObservableValue#removeListener(ChangeListener)} * <p> * For an in-depth explanation of change events and how they differ from * invalidation events, see the documentation of {@code ObservableValue}. * <p> * The same instance of {@code ChangeListener} can be registered to listen to * multiple {@code ObservableValues}. * * @see ObservableValue * * * @since JavaFX 2.0 */
@FunctionalInterface public interface ChangeListener<T> {
This method needs to be provided by an implementation of ChangeListener. It is called if the value of an ObservableValue changes.

In general, it is considered bad practice to modify the observed value in this method.

Params:
  • observable – The ObservableValue which value changed
  • oldValue – The old value
  • newValue – The new value
/** * This method needs to be provided by an implementation of * {@code ChangeListener}. It is called if the value of an * {@link ObservableValue} changes. * <p> * In general, it is considered bad practice to modify the observed value in * this method. * * @param observable * The {@code ObservableValue} which value changed * @param oldValue * The old value * @param newValue * The new value */
void changed(ObservableValue<? extends T> observable, T oldValue, T newValue); }