| package net.zukowski.ibm; import java.io.*; import java.util.prefs.*; public class Prefs { public static void main(String args[]) { String denominations[] = {"One", "Two", "Five", "Ten", "Twenty"}; String pictures[] = {"Washington", "Jefferson", "Lincoln", "Hamilton", "Jackson"}; NodeChangeListener nodeChangeListener = new NodeChangeListener() { public void childAdded(NodeChangeEvent event) { Preferences parent = event.getParent(); Preferences child = event.getChild(); System.out.println(parent.name() + " has a new child " + child.name()); } public void childRemoved(NodeChangeEvent event) { Preferences parent = event.getParent(); Preferences child = event.getChild(); System.out.println(parent.name() + " lost a child " + child.name()); } }; PreferenceChangeListener preferenceChangeListener = new PreferenceChangeListener() { public void preferenceChange(PreferenceChangeEvent event) { String key = event.getKey(); String value = event.getNewValue(); Preferences node = event.getNode(); System.out.println(node.name() + " now has a value of " + value + " for " + key); } }; // Look up user root Preferences prefs = Preferences.userRoot().node("/net/zukowski/ibm"); // Add listeners prefs.addNodeChangeListener(nodeChangeListener); prefs.addPreferenceChangeListener(preferenceChangeListener); // Save a bunch of key-value pairs for (int i=0, n=denominations.length; i < n; i++) { prefs.put(denominations[i], pictures[i]); } // Display all the entries try { String keys[] = prefs.keys(); for (int i=0, n=keys.length; i < n; i++) { System.out.println(keys[i] + ": " + prefs.get(keys[i], "Unknown")); } } catch (BackingStoreException e) { System.err.println("Unable to read backing store: " + e); } // Create child Preferences child = Preferences.userRoot().node("/net/zukowski/ibm/foo"); // Save to XML file try { FileOutputStream fos = new FileOutputStream("prefs.out"); prefs.exportNode(fos); } catch (Exception e) { System.err.println("Unable to export nodes: " + e); } // Clean up try { prefs.removeNode(); } catch (BackingStoreException e) { System.err.println("Unable to access backing store: " + e); } } } |