# Class PreferenceChangeEvent

java.lang.Object
java.util.EventObject
java.util.prefs.PreferenceChangeEvent

All Implemented Interfaces:
  `Serializable`

public class PreferenceChangeEvent extends EventObject
An event emitted by a `Preferences` node to indicate that a preference has been added, removed or has had its value changed.

Note, that although PreferenceChangeEvent inherits Serializable interface from EventObject, it is not intended to be Serializable. Appropriate serialization methods are implemented to throw NotSerializableException.

Since:
  1.4
See Also:
  - `Preferences`
  - `PreferenceChangeListener`
  - `NodeChangeEvent`

- ## Field Summary

  ### Fields declared in class EventObject

  `source`
  Modifier and Type
  Field
  Description
  `protected Object`
  `source`
  The object on which the Event initially occurred.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `PreferenceChangeEvent(Preferences node, String key, String newValue)`
  Constructs a new `PreferenceChangeEvent` instance.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getKey()`
  Returns the key of the preference that was changed.
  `String`
  `getNewValue()`
  Returns the new value for the preference.
  `Preferences`
  `getNode()`
  Returns the preference node that emitted the event.

  ### Methods declared in class EventObject

  `getSource, toString`
  Modifier and Type
  Method
  Description
  `Object`
  `getSource()`
  The object on which the Event initially occurred.
  `String`
  `toString()`
  Returns a String representation of this EventObject.

  ### Methods declared in class Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `protected Object`
  `clone()`
  Creates and returns a copy of this object.
  `boolean`
  `equals(Object obj)`
  Indicates whether some other object is "equal to" this one.
  `protected void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization is deprecated and subject to removal in a future release.
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `int`
  `hashCode()`
  Returns a hash code value for this object.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Constructor Details

  - ### PreferenceChangeEvent

    public PreferenceChangeEvent(Preferences node, String key, String newValue)
    Constructs a new `PreferenceChangeEvent` instance.
    Parameters:
      `node` - The Preferences node that emitted the event.
      `key` - The key of the preference that was changed.
      `newValue` - The new value of the preference, or `null` if the preference is being removed.

- ## Method Details

  - ### getNode

    public Preferences getNode()
    Returns the preference node that emitted the event.
    Returns:
      The preference node that emitted the event.

  - ### getKey

    public String getKey()
    Returns the key of the preference that was changed.
    Returns:
      The key of the preference that was changed.

  - ### getNewValue

    public String getNewValue()
    Returns the new value for the preference.
    Returns:
      The new value for the preference, or `null` if the preference was removed.