Preferences对象发出的事件有两种:PreferenceChangeEvent和NodeChangeEvent。
每当节点的键值对之一更改时,对象PreferenceChangeEvent就会发出A。可以使用来监听:PropertiesPreferenceChangeEventPreferenceChangeListener
preferences.addPreferenceChangeListener(evt -> { String newValue = evt.getNewValue(); String changedPreferenceKey = evt.getKey(); Preferences changedNode = evt.getNode(); });
preferences.addPreferenceChangeListener(new PreferenceChangeListener() { @Override public void preferenceChange(PreferenceChangeEvent evt) { String newValue = evt.getNewValue(); String changedPreferenceKey = evt.getKey(); Preferences changedNode = evt.getNode(); } });
该侦听器将不会侦听子节点的更改的键值对。
每当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(); } });