April 2018
Intermediate to advanced
910 pages
33h 21m
English
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 ...