Java添加事件监听器

示例

Preferences对象发出的事件有两种:PreferenceChangeEvent和NodeChangeEvent。

PreferenceChangeEvent

每当节点的键值对之一更改时,对象PreferenceChangeEvent就会发出A。可以使用来监听:PropertiesPreferenceChangeEventPreferenceChangeListener

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();
    }
});

该侦听器将不会侦听子节点的更改的键值对。

NodeChangeEvent

每当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();
    }
});