<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FDevelopment%2FPreference</id>
		<title>Java Tutorial/Development/Preference - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://jexp.ru/index.php?action=history&amp;feed=atom&amp;title=Java_Tutorial%2FDevelopment%2FPreference"/>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Development/Preference&amp;action=history"/>
		<updated>2026-04-06T14:02:31Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/Development/Preference&amp;diff=3660&amp;oldid=prev</id>
		<title> в 17:44, 31 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Development/Preference&amp;diff=3660&amp;oldid=prev"/>
				<updated>2010-05-31T17:44:27Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 17:44, 31 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://jexp.ru/index.php?title=Java_Tutorial/Development/Preference&amp;diff=3661&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://jexp.ru/index.php?title=Java_Tutorial/Development/Preference&amp;diff=3661&amp;oldid=prev"/>
				<updated>2010-05-31T15:28:35Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==  Determining If a Preference Node Contains a Specific Key ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
  }&lt;br /&gt;
  // Returns true if node contains the specified key; false otherwise.&lt;br /&gt;
  public static boolean contains(Preferences node, String key) {&lt;br /&gt;
    return node.get(key, null) != null;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Determining If a Preference Node Contains a Specific Value ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.prefs.BackingStoreException;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
  public static String containsValue(Preferences node, String value) {&lt;br /&gt;
    try {&lt;br /&gt;
      String[] keys = node.keys();&lt;br /&gt;
      for (int i = 0; i &amp;lt; keys.length; i++) {&lt;br /&gt;
        if (value.equals(node.get(keys[i], null))) {&lt;br /&gt;
          return keys[i];&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    } catch (BackingStoreException e) {&lt;br /&gt;
    }&lt;br /&gt;
    return null;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Determining If a Preference Node Exists ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    boolean exists = Preferences.userRoot().nodeExists(&amp;quot;/yourValue&amp;quot;); // false&lt;br /&gt;
    Preferences.userRoot().node(&amp;quot;/yourValue&amp;quot;);&lt;br /&gt;
    exists = Preferences.userRoot().nodeExists(&amp;quot;/yourValue&amp;quot;); // true&lt;br /&gt;
    Preferences prefs = Preferences.userRoot().node(&amp;quot;/yourValue&amp;quot;);&lt;br /&gt;
    prefs.removeNode();&lt;br /&gt;
    // exists = prefs.nodeExists(&amp;quot;/yourValue&amp;quot;);&lt;br /&gt;
    exists = prefs.nodeExists(&amp;quot;&amp;quot;); // false&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Determining When a Preference Node Is Added or Removed ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.prefs.NodeChangeEvent;&lt;br /&gt;
import java.util.prefs.NodeChangeListener;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    Preferences prefs = Preferences.userNodeForPackage(String.class);&lt;br /&gt;
    prefs.addNodeChangeListener(new NodeChangeListener() {&lt;br /&gt;
      public void childAdded(NodeChangeEvent evt) {&lt;br /&gt;
        Preferences parent = evt.getParent();&lt;br /&gt;
        Preferences child = evt.getChild();&lt;br /&gt;
      }&lt;br /&gt;
      public void childRemoved(NodeChangeEvent evt) {&lt;br /&gt;
        Preferences parent = evt.getParent();&lt;br /&gt;
        Preferences child = evt.getChild();&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
    Preferences child = prefs.node(&amp;quot;new node&amp;quot;);&lt;br /&gt;
    child.removeNode();&lt;br /&gt;
    prefs.removeNode();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Exporting the Preferences in a Preference Node ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    Preferences prefs = Preferences.userNodeForPackage(String.class);&lt;br /&gt;
    // Save some values&lt;br /&gt;
    prefs.put(&amp;quot;myString&amp;quot;, &amp;quot;a string&amp;quot;); // String&lt;br /&gt;
    prefs.putBoolean(&amp;quot;myBoolean&amp;quot;, true); // boolean&lt;br /&gt;
    prefs.putInt(&amp;quot;myInt&amp;quot;, 123); // int&lt;br /&gt;
    prefs.putLong(&amp;quot;myLong&amp;quot;, 123L); // long&lt;br /&gt;
    prefs.putFloat(&amp;quot;myFloat&amp;quot;, 12.3F); // float&lt;br /&gt;
    prefs.putDouble(&amp;quot;myDouble&amp;quot;, 12.3); // double&lt;br /&gt;
    byte[] bytes = new byte[10];&lt;br /&gt;
    prefs.putByteArray(&amp;quot;myByteArray&amp;quot;, bytes); // byte[]&lt;br /&gt;
    // Export the node to a file&lt;br /&gt;
    prefs.exportNode(new FileOutputStream(&amp;quot;output.xml&amp;quot;));&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Exporting the Preferences in a Subtree of Preference Nodes ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    Preferences prefs = Preferences.userNodeForPackage(String.class);&lt;br /&gt;
    // Save some values&lt;br /&gt;
    prefs.put(&amp;quot;myString&amp;quot;, &amp;quot;a string&amp;quot;); // String&lt;br /&gt;
    prefs.putBoolean(&amp;quot;myBoolean&amp;quot;, true); // boolean&lt;br /&gt;
    prefs.putInt(&amp;quot;myInt&amp;quot;, 123); // int&lt;br /&gt;
    prefs.putLong(&amp;quot;myLong&amp;quot;, 123L); // long&lt;br /&gt;
    // Save some values in the parent node&lt;br /&gt;
    prefs = prefs.parent();&lt;br /&gt;
    prefs.putFloat(&amp;quot;myFloat&amp;quot;, 12.3F); // float&lt;br /&gt;
    prefs.putDouble(&amp;quot;myDouble&amp;quot;, 12.3); // double&lt;br /&gt;
    byte[] bytes = new byte[10];&lt;br /&gt;
    prefs.putByteArray(&amp;quot;myByteArray&amp;quot;, bytes); // byte[]&lt;br /&gt;
    prefs.exportSubtree(new FileOutputStream(&amp;quot;output.xml&amp;quot;));&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Export Preferences to XML file ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
public class PreferenceExample {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    Preferences prefsRoot = Preferences.userRoot();&lt;br /&gt;
    Preferences myPrefs = prefsRoot.node(&amp;quot;PreferenceExample&amp;quot;);&lt;br /&gt;
    myPrefs.put(&amp;quot;A&amp;quot;, &amp;quot;a&amp;quot;);&lt;br /&gt;
    myPrefs.put(&amp;quot;B&amp;quot;, &amp;quot;b&amp;quot;);&lt;br /&gt;
    myPrefs.put(&amp;quot;C&amp;quot;, &amp;quot;c&amp;quot;);&lt;br /&gt;
    FileOutputStream fos = new FileOutputStream(&amp;quot;prefs.xml&amp;quot;);&lt;br /&gt;
    myPrefs.exportSubtree(fos);&lt;br /&gt;
    fos.close();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get childrenNames from Preferences ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
public class PreferenceExample {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    Preferences prefsRoot = Preferences.userRoot();&lt;br /&gt;
    Preferences myPrefs = prefsRoot.node(&amp;quot;PreferenceExample&amp;quot;);&lt;br /&gt;
    myPrefs.put(&amp;quot;A&amp;quot;, &amp;quot;a&amp;quot;);&lt;br /&gt;
    myPrefs.put(&amp;quot;B&amp;quot;, &amp;quot;b&amp;quot;);&lt;br /&gt;
    myPrefs.put(&amp;quot;C&amp;quot;, &amp;quot;c&amp;quot;);&lt;br /&gt;
    System.out.print(&amp;quot;Node&amp;quot;s children: &amp;quot;);&lt;br /&gt;
    for (String s : myPrefs.childrenNames()) {&lt;br /&gt;
      System.out.print(s + &amp;quot;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get keys from Preferences ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
public class PreferenceExample {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    Preferences prefsRoot = Preferences.userRoot();&lt;br /&gt;
    Preferences myPrefs = prefsRoot.node(&amp;quot;PreferenceExample&amp;quot;);&lt;br /&gt;
    myPrefs.put(&amp;quot;A&amp;quot;, &amp;quot;a&amp;quot;);&lt;br /&gt;
    myPrefs.put(&amp;quot;B&amp;quot;, &amp;quot;b&amp;quot;);&lt;br /&gt;
    myPrefs.put(&amp;quot;C&amp;quot;, &amp;quot;c&amp;quot;);&lt;br /&gt;
    System.out.print(&amp;quot;Node&amp;quot;s keys: &amp;quot;);&lt;br /&gt;
    for (String s : myPrefs.keys()) {&lt;br /&gt;
      System.out.print(s + &amp;quot;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get name and parent from Preference ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
public class PreferenceExample {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    Preferences prefsRoot = Preferences.userRoot();&lt;br /&gt;
    Preferences myPrefs = prefsRoot.node(&amp;quot;PreferenceExample&amp;quot;);&lt;br /&gt;
    myPrefs.put(&amp;quot;A&amp;quot;, &amp;quot;a&amp;quot;);&lt;br /&gt;
    myPrefs.put(&amp;quot;B&amp;quot;, &amp;quot;b&amp;quot;);&lt;br /&gt;
    myPrefs.put(&amp;quot;C&amp;quot;, &amp;quot;c&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;Node&amp;quot;s name: &amp;quot; + myPrefs.name());&lt;br /&gt;
    System.out.println(&amp;quot;Node&amp;quot;s parent: &amp;quot; + myPrefs.parent());&lt;br /&gt;
    System.out.println(&amp;quot;NODE: &amp;quot; + myPrefs);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get node from Preference ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
public class PreferenceExample {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    Preferences prefsRoot = Preferences.userRoot();&lt;br /&gt;
    Preferences myPrefs = prefsRoot.node(&amp;quot;PreferenceExample&amp;quot;);&lt;br /&gt;
    myPrefs.put(&amp;quot;A&amp;quot;, &amp;quot;a&amp;quot;);&lt;br /&gt;
    myPrefs.put(&amp;quot;B&amp;quot;, &amp;quot;b&amp;quot;);&lt;br /&gt;
    myPrefs.put(&amp;quot;C&amp;quot;, &amp;quot;c&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;userNodeForPackage: &amp;quot;&lt;br /&gt;
        + Preferences.userNodeForPackage(PreferenceExample.class));&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get the desired look and feel from a per-user preference ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
/*&lt;br /&gt;
 * Copyright (c) 2004 David Flanagan.  All rights reserved.&lt;br /&gt;
 * This code is from the book Java Examples in a Nutshell, 3nd Edition.&lt;br /&gt;
 * It is provided AS-IS, WITHOUT ANY WARRANTY either expressed or implied.&lt;br /&gt;
 * You may study, use, and modify it for any non-commercial purpose,&lt;br /&gt;
 * including teaching and use in open-source projects.&lt;br /&gt;
 * You may distribute it non-commercially as long as you retain this notice.&lt;br /&gt;
 * For a commercial use license, or to purchase the book, &lt;br /&gt;
 * please visit http://www.davidflanagan.ru/javaexamples3.&lt;br /&gt;
 */&lt;br /&gt;
import java.awt.event.ActionEvent;&lt;br /&gt;
import java.awt.event.ActionListener;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
import javax.swing.ButtonGroup;&lt;br /&gt;
import javax.swing.JMenu;&lt;br /&gt;
import javax.swing.JMenuItem;&lt;br /&gt;
import javax.swing.JOptionPane;&lt;br /&gt;
import javax.swing.JRadioButtonMenuItem;&lt;br /&gt;
import javax.swing.UIManager;&lt;br /&gt;
import javax.swing.UnsupportedLookAndFeelException;&lt;br /&gt;
public class LookAndFeelPrefs {&lt;br /&gt;
  public static final String PREF_NAME = &amp;quot;preferredLookAndFeelClassName&amp;quot;;&lt;br /&gt;
  /**&lt;br /&gt;
   * Get the desired look and feel from a per-user preference. If the&lt;br /&gt;
   * preferences doesn&amp;quot;t exist or is unavailable, use the default look and feel.&lt;br /&gt;
   * The preference is shared by all classes in the same package as prefsClass.&lt;br /&gt;
   */&lt;br /&gt;
  public static void setPreferredLookAndFeel(Class prefsClass) {&lt;br /&gt;
    Preferences prefs = Preferences.userNodeForPackage(prefsClass);&lt;br /&gt;
    String defaultLAF = UIManager.getSystemLookAndFeelClassName();&lt;br /&gt;
    String laf = prefs.get(PREF_NAME, defaultLAF);&lt;br /&gt;
    try {&lt;br /&gt;
      UIManager.setLookAndFeel(laf);&lt;br /&gt;
    } catch (Exception e) { // ClassNotFound or InstantiationException&lt;br /&gt;
      // An exception here is probably caused by a bogus preference.&lt;br /&gt;
      // Ignore it silently; the user will make do with the default LAF.&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  /**&lt;br /&gt;
   * Create a menu of radio buttons listing the available Look and Feels. When&lt;br /&gt;
   * the user selects one, change the component hierarchy under frame to the new&lt;br /&gt;
   * LAF, and store the new selection as the current preference for the package&lt;br /&gt;
   * containing class c.&lt;br /&gt;
   */&lt;br /&gt;
  public static JMenu createLookAndFeelMenu(final Class prefsClass, final ActionListener listener) {&lt;br /&gt;
    // Create the menu&lt;br /&gt;
    final JMenu plafmenu = new JMenu(&amp;quot;Look and Feel&amp;quot;);&lt;br /&gt;
    // Create an object used for radio button mutual exclusion&lt;br /&gt;
    ButtonGroup radiogroup = new ButtonGroup();&lt;br /&gt;
    // Look up the available look and feels&lt;br /&gt;
    UIManager.LookAndFeelInfo[] plafs = UIManager.getInstalledLookAndFeels();&lt;br /&gt;
    // Find out which one is currently used&lt;br /&gt;
    String currentLAFName = UIManager.getLookAndFeel().getClass().getName();&lt;br /&gt;
    // Loop through the plafs, and add a menu item for each one&lt;br /&gt;
    for (int i = 0; i &amp;lt; plafs.length; i++) {&lt;br /&gt;
      String plafName = plafs[i].getName();&lt;br /&gt;
      final String plafClassName = plafs[i].getClassName();&lt;br /&gt;
      // Create the menu item&lt;br /&gt;
      final JMenuItem item = plafmenu.add(new JRadioButtonMenuItem(plafName));&lt;br /&gt;
      item.setSelected(plafClassName.equals(currentLAFName));&lt;br /&gt;
      // Tell the menu item what to do when it is selected&lt;br /&gt;
      item.addActionListener(new ActionListener() {&lt;br /&gt;
        public void actionPerformed(ActionEvent event) {&lt;br /&gt;
          // Set the new look and feel&lt;br /&gt;
          try {&lt;br /&gt;
            UIManager.setLookAndFeel(plafClassName);&lt;br /&gt;
          } catch (UnsupportedLookAndFeelException e) {&lt;br /&gt;
            // Sometimes a Look-and-Feel is installed but not&lt;br /&gt;
            // supported, as in the Windows LaF on Linux platforms.&lt;br /&gt;
            JOptionPane.showMessageDialog(plafmenu, &amp;quot;The selected Look-and-Feel is &amp;quot;&lt;br /&gt;
                + &amp;quot;not supported on this platform.&amp;quot;, &amp;quot;Unsupported Look And Feel&amp;quot;,&lt;br /&gt;
                JOptionPane.ERROR_MESSAGE);&lt;br /&gt;
            item.setEnabled(false);&lt;br /&gt;
          } catch (Exception e) { // ClassNotFound or Instantiation&lt;br /&gt;
            item.setEnabled(false); // shouldn&amp;quot;t happen&lt;br /&gt;
          }&lt;br /&gt;
          // Make the selection persistent by storing it in prefs.&lt;br /&gt;
          Preferences p = Preferences.userNodeForPackage(prefsClass);&lt;br /&gt;
          p.put(PREF_NAME, plafClassName);&lt;br /&gt;
          // Invoke the supplied action listener so the calling&lt;br /&gt;
          // application can update its components to the new LAF&lt;br /&gt;
          // Reuse the event that was passed here.&lt;br /&gt;
          listener.actionPerformed(event);&lt;br /&gt;
        }&lt;br /&gt;
      });&lt;br /&gt;
      // Only allow one menu item to be selected at once&lt;br /&gt;
      radiogroup.add(item);&lt;br /&gt;
    }&lt;br /&gt;
    return plafmenu;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Getting and Setting Java Type Values in a Preference ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    Preferences prefs = Preferences.userNodeForPackage(Main.class);&lt;br /&gt;
    // Preference key name&lt;br /&gt;
    final String PREF_NAME = &amp;quot;name_of_preference&amp;quot;;&lt;br /&gt;
    // Save&lt;br /&gt;
    prefs.put(PREF_NAME, &amp;quot;a string&amp;quot;); // String&lt;br /&gt;
    prefs.putBoolean(PREF_NAME, true); // boolean&lt;br /&gt;
    prefs.putInt(PREF_NAME, 123); // int&lt;br /&gt;
    prefs.putLong(PREF_NAME, 123L); // long&lt;br /&gt;
    prefs.putFloat(PREF_NAME, 12.3F); // float&lt;br /&gt;
    prefs.putDouble(PREF_NAME, 12.3); // double&lt;br /&gt;
    byte[] bytes = new byte[1024];&lt;br /&gt;
    prefs.putByteArray(PREF_NAME, bytes); // byte[]&lt;br /&gt;
    // Retrieve&lt;br /&gt;
    String s = prefs.get(PREF_NAME, &amp;quot;a string&amp;quot;); // String&lt;br /&gt;
    boolean b = prefs.getBoolean(PREF_NAME, true); // boolean&lt;br /&gt;
    int i = prefs.getInt(PREF_NAME, 123); // int&lt;br /&gt;
    long l = prefs.getLong(PREF_NAME, 123L); // long&lt;br /&gt;
    float f = prefs.getFloat(PREF_NAME, 12.3F); // float&lt;br /&gt;
    double d = prefs.getDouble(PREF_NAME, 12.3); // double&lt;br /&gt;
    bytes = prefs.getByteArray(PREF_NAME, bytes); // byte[]&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Getting the Maximum Size of a Preference Key and Value ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    // Get maximum key length&lt;br /&gt;
    int keyMax = Preferences.MAX_KEY_LENGTH;&lt;br /&gt;
    // Get maximum value length&lt;br /&gt;
    int valueMax = Preferences.MAX_VALUE_LENGTH;&lt;br /&gt;
    // Get maximum length of byte array values&lt;br /&gt;
    int bytesMax = Preferences.MAX_VALUE_LENGTH * 3 / 4;&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Getting the Roots of the Preference Trees ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    // Get the system root&lt;br /&gt;
    Preferences prefs = Preferences.systemRoot();&lt;br /&gt;
    // Get the user root&lt;br /&gt;
    prefs = Preferences.userRoot();&lt;br /&gt;
    // The name of a root is &amp;quot;&amp;quot;&lt;br /&gt;
    String name = prefs.name();&lt;br /&gt;
    // The parent of a root is null&lt;br /&gt;
    Preferences parent = prefs.parent();&lt;br /&gt;
    // The absolute path of a root is &amp;quot;/&amp;quot;&lt;br /&gt;
    String path = prefs.absolutePath();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Get value from Preferences ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
public class PreferenceExample {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    Preferences prefsRoot = Preferences.userRoot();&lt;br /&gt;
    Preferences myPrefs = prefsRoot.node(&amp;quot;PreferenceExample&amp;quot;);&lt;br /&gt;
    myPrefs.put(&amp;quot;A&amp;quot;, &amp;quot;a&amp;quot;);&lt;br /&gt;
    myPrefs.put(&amp;quot;B&amp;quot;, &amp;quot;b&amp;quot;);&lt;br /&gt;
    myPrefs.put(&amp;quot;C&amp;quot;, &amp;quot;c&amp;quot;);&lt;br /&gt;
    for (String s : myPrefs.keys()) {&lt;br /&gt;
      System.out.println(&amp;quot;&amp;quot; + s + &amp;quot;= &amp;quot; + myPrefs.get(s, &amp;quot;&amp;quot;));&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Listening for Changes to Preference Values in a Preference Node ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.prefs.PreferenceChangeEvent;&lt;br /&gt;
import java.util.prefs.PreferenceChangeListener;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    Preferences prefs = Preferences.userNodeForPackage(String.class);&lt;br /&gt;
    prefs.addPreferenceChangeListener(new PreferenceChangeListener() {&lt;br /&gt;
      public void preferenceChange(PreferenceChangeEvent evt) {&lt;br /&gt;
        Preferences node = evt.getNode();&lt;br /&gt;
        String key = evt.getKey();&lt;br /&gt;
        String newValue = evt.getNewValue();&lt;br /&gt;
      }&lt;br /&gt;
    });&lt;br /&gt;
    prefs.put(&amp;quot;key&amp;quot;, &amp;quot;a string&amp;quot;);&lt;br /&gt;
    prefs.put(&amp;quot;key&amp;quot;, &amp;quot;a new string&amp;quot;);&lt;br /&gt;
    prefs.remove(&amp;quot;key&amp;quot;);&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Preference save and load ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.Arrays;&lt;br /&gt;
import java.util.Iterator;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
public class MainClass {&lt;br /&gt;
  public static void main(String[] args) throws Exception {&lt;br /&gt;
    Preferences prefs = Preferences.userNodeForPackage(MainClass.class);&lt;br /&gt;
    prefs.put(&amp;quot;key1&amp;quot;, &amp;quot;value1&amp;quot;);&lt;br /&gt;
    prefs.put(&amp;quot;key2&amp;quot;, &amp;quot;value2&amp;quot;);&lt;br /&gt;
    prefs.putInt(&amp;quot;intValue&amp;quot;, 4);&lt;br /&gt;
    prefs.putBoolean(&amp;quot;booleanValue&amp;quot;, true);&lt;br /&gt;
    int usageCount = prefs.getInt(&amp;quot;intValue&amp;quot;, 0);&lt;br /&gt;
    usageCount++;&lt;br /&gt;
    prefs.putInt(&amp;quot;UsageCount&amp;quot;, usageCount);&lt;br /&gt;
    Iterator it = Arrays.asList(prefs.keys()).iterator();&lt;br /&gt;
    while (it.hasNext()) {&lt;br /&gt;
      String key = it.next().toString();&lt;br /&gt;
      System.out.println(key + &amp;quot;: &amp;quot; + prefs.get(key, null));&lt;br /&gt;
    }&lt;br /&gt;
    System.out.println(prefs.getInt(&amp;quot;booleanValue&amp;quot;, 0));&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Preferences Inspector ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.prefs.PreferenceChangeEvent;&lt;br /&gt;
import java.util.prefs.PreferenceChangeListener;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
public class MainClass implements PreferenceChangeListener {&lt;br /&gt;
  private Preferences userPrefs;&lt;br /&gt;
  public static final String NAMEPREF = &amp;quot;name&amp;quot;;&lt;br /&gt;
  public static final String EMAILPREF = &amp;quot;email&amp;quot;;&lt;br /&gt;
  public static final String AGEPREF = &amp;quot;age&amp;quot;;&lt;br /&gt;
  public static final String PHONEPREF = &amp;quot;phone&amp;quot;;&lt;br /&gt;
  public static void main(String args[]) {&lt;br /&gt;
    new MainClass();&lt;br /&gt;
  }&lt;br /&gt;
  public MainClass() {&lt;br /&gt;
    userPrefs = Preferences.userNodeForPackage(MainClass.class);&lt;br /&gt;
    System.out.println(userPrefs.get(NAMEPREF, &amp;quot;&amp;quot;));&lt;br /&gt;
    System.out.println(userPrefs.get(EMAILPREF, &amp;quot;&amp;quot;));&lt;br /&gt;
    System.out.println(userPrefs.get(AGEPREF, &amp;quot;&amp;quot;));&lt;br /&gt;
    System.out.println(userPrefs.get(PHONEPREF, &amp;quot;&amp;quot;));&lt;br /&gt;
    userPrefs.put(NAMEPREF, &amp;quot;name&amp;quot;);&lt;br /&gt;
    userPrefs.put(AGEPREF, &amp;quot;Text&amp;quot;);&lt;br /&gt;
    userPrefs.put(EMAILPREF, &amp;quot;email&amp;quot;);&lt;br /&gt;
    userPrefs.put(PHONEPREF, &amp;quot;phone&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;Preferences stored&amp;quot;);&lt;br /&gt;
    Preferences.userNodeForPackage(MainClass.class).addPreferenceChangeListener(this);&lt;br /&gt;
  }&lt;br /&gt;
  public void preferenceChange(PreferenceChangeEvent evt) {&lt;br /&gt;
    String key = evt.getKey();&lt;br /&gt;
    String val = evt.getNewValue();&lt;br /&gt;
    if (key.equals(NAMEPREF)) {&lt;br /&gt;
      System.out.println(val);&lt;br /&gt;
    } else if (key.equals(EMAILPREF)) {&lt;br /&gt;
      System.out.println(val);&lt;br /&gt;
    } else if (key.equals(AGEPREF)) {&lt;br /&gt;
      System.out.println(val);&lt;br /&gt;
    } else if (key.equals(PHONEPREF)) {&lt;br /&gt;
      System.out.println(val);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Put key value pair to Preference ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.io.FileOutputStream;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
public class PreferenceExample {&lt;br /&gt;
  public static void main(String args[]) throws Exception {&lt;br /&gt;
    Preferences prefsRoot = Preferences.userRoot();&lt;br /&gt;
    Preferences myPrefs = prefsRoot.node(&amp;quot;PreferenceExample&amp;quot;);&lt;br /&gt;
    myPrefs.put(&amp;quot;A&amp;quot;, &amp;quot;a&amp;quot;);&lt;br /&gt;
    myPrefs.put(&amp;quot;B&amp;quot;, &amp;quot;b&amp;quot;);&lt;br /&gt;
    myPrefs.put(&amp;quot;C&amp;quot;, &amp;quot;c&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;Node&amp;quot;s absolute path: &amp;quot; + myPrefs.absolutePath());&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Read / write data in Windows registry ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] args) {&lt;br /&gt;
    String PREF_KEY = &amp;quot;org.username&amp;quot;;&lt;br /&gt;
    // Write Preferences information to HKCU (HKEY_CURRENT_USER),HKCU\Software\JavaSoft\Prefs\&lt;br /&gt;
    Preferences userPref = Preferences.userRoot();&lt;br /&gt;
    userPref.put(PREF_KEY, &amp;quot;a&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;Preferences = &amp;quot; + userPref.get(PREF_KEY, PREF_KEY + &amp;quot; was not found.&amp;quot;));&lt;br /&gt;
    // Write Preferences information to HKLM (HKEY_LOCAL_MACHINE),HKLM\Software\JavaSoft\Prefs\&lt;br /&gt;
    Preferences systemPref = Preferences.systemRoot();&lt;br /&gt;
    systemPref.put(PREF_KEY, &amp;quot;b&amp;quot;);&lt;br /&gt;
    System.out.println(&amp;quot;Preferences = &amp;quot; + systemPref.get(PREF_KEY, PREF_KEY + &amp;quot; was not found.&amp;quot;));&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Removing a Preference from a Preference Node ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    // Get the user preference node for java.lang&lt;br /&gt;
    Preferences prefs = Preferences.userNodeForPackage(String.class);&lt;br /&gt;
    // Remove a preference in the node&lt;br /&gt;
    final String PREF_NAME = &amp;quot;name_of_preference&amp;quot;;&lt;br /&gt;
    prefs.remove(PREF_NAME);&lt;br /&gt;
    // Remove all preferences in the node&lt;br /&gt;
    prefs.clear();&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Removing a Preference Node ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    boolean exists = Preferences.userRoot().nodeExists(&amp;quot;/yourValue&amp;quot;); // false&lt;br /&gt;
    if (!exists) {&lt;br /&gt;
      Preferences prefs = Preferences.userRoot().node(&amp;quot;/yourValue&amp;quot;);&lt;br /&gt;
      prefs.removeNode();&lt;br /&gt;
      // prefs.removeNode();&lt;br /&gt;
    }&lt;br /&gt;
    Preferences prefs = Preferences.userRoot().node(&amp;quot;/yourValue/child&amp;quot;);&lt;br /&gt;
    exists = Preferences.userRoot().nodeExists(&amp;quot;/yourValue&amp;quot;); // true&lt;br /&gt;
    exists = Preferences.userRoot().nodeExists(&amp;quot;/yourValue/child&amp;quot;); // true&lt;br /&gt;
    Preferences.userRoot().node(&amp;quot;/yourValue&amp;quot;).removeNode();&lt;br /&gt;
    exists = Preferences.userRoot().nodeExists(&amp;quot;/yourValue&amp;quot;); // false&lt;br /&gt;
    exists = Preferences.userRoot().nodeExists(&amp;quot;/yourValue/child&amp;quot;); // false&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  Retrieving the Parent and Child Nodes of a Preference Node ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;java&amp;quot;&amp;gt;&lt;br /&gt;
import java.util.prefs.Preferences;&lt;br /&gt;
public class Main {&lt;br /&gt;
  public static void main(String[] argv) throws Exception {&lt;br /&gt;
    Preferences prefs = Preferences.userNodeForPackage(java.lang.String.class);&lt;br /&gt;
    Preferences node = prefs.parent(); // /java&lt;br /&gt;
    node = node.parent(); // null&lt;br /&gt;
    String[] names = null;&lt;br /&gt;
    names = prefs.childrenNames();&lt;br /&gt;
    for (int i = 0; i &amp;lt; names.length; i++) {&lt;br /&gt;
      node = prefs.node(names[i]);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- end source code --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>