Now that we can persist changes, we need to make the application react to the changes. Fortunately, the NetBeans RCP provides a neat, decoupled way to handle that. We need not explicitly call a method from our code here. We can attach a listener at the point in the system where we're interested in the change. We've already seen this code back in PhotoManagerImpl:
prefs.addPreferenceChangeListener(evt -> { if (evt.getKey().equals("sourceDirs")) { setSourceDirs(evt.getNewValue()); scanSourceDirs(); } });
When we save any preference for the PhotoManager module, this listener is called. We simply check to make sure it's for a key that we're interested in, and act accordingly, which, as we've seen, involves ...