Java Language Añadiendo oyentes de eventos


Ejemplo

Hay dos tipos de eventos emitidos por un Preferences del objeto: PreferenceChangeEvent y NodeChangeEvent .

PreferenceChangeEvent

Un objeto PreferenceChangeEvent es emitido por un objeto Properties cada vez que cambia uno de los pares clave-valor del nodo. PreferenceChangeEvent s se puede escuchar con un PreferenceChangeListener :

Java SE 8
preferences.addPreferenceChangeListener(evt -> {
    String newValue = evt.getNewValue();
    String changedPreferenceKey = evt.getKey();
    Preferences changedNode = evt.getNode();
});
Java SE 8
preferences.addPreferenceChangeListener(new PreferenceChangeListener() {
    @Override
    public void preferenceChange(PreferenceChangeEvent evt) {
        String newValue = evt.getNewValue();
        String changedPreferenceKey = evt.getKey();
        Preferences changedNode = evt.getNode();
    }
});

Este oyente no escuchará los pares clave-valor de los nodos secundarios.

NodeChangeEvent

Este evento se activará cada vez que se agregue o elimine un nodo secundario de un nodo Properties .

preferences.addNodeChangeListener(new NodeChangeListener() {
    @Override
    public void childAdded(NodeChangeEvent evt) {
        Preferences addedChild = evt.getChild();
        Preferences parentOfAddedChild = evt.getParent();
    }

    @Override
    public void childRemoved(NodeChangeEvent evt) {
        Preferences removedChild = evt.getChild();
        Preferences parentOfRemovedChild = evt.getParent();
    }
});