diff options
Diffstat (limited to 'libjava/javax/swing/UIDefaults.java')
-rw-r--r-- | libjava/javax/swing/UIDefaults.java | 58 |
1 files changed, 23 insertions, 35 deletions
diff --git a/libjava/javax/swing/UIDefaults.java b/libjava/javax/swing/UIDefaults.java index 8141399..f72c274 100644 --- a/libjava/javax/swing/UIDefaults.java +++ b/libjava/javax/swing/UIDefaults.java @@ -43,10 +43,9 @@ import java.awt.Font; import java.awt.Insets; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; +import java.beans.PropertyChangeSupport; import java.lang.reflect.Method; -import java.util.HashSet; import java.util.Hashtable; -import java.util.Iterator; import java.util.LinkedList; import java.util.ListIterator; import java.util.Locale; @@ -66,15 +65,14 @@ import javax.swing.plaf.ComponentUI; */ public class UIDefaults extends Hashtable { + private LinkedList bundles; + private Locale defaultLocale; + private PropertyChangeSupport propertyChangeSupport; - LinkedList bundles; - Set listeners; - Locale defaultLocale; - - interface ActiveValue + public interface ActiveValue { Object createValue(UIDefaults table); - } // interface ActiveValue + } public static class LazyInputMap implements LazyValue { @@ -93,12 +91,12 @@ public class UIDefaults extends Hashtable } return im; } - } // class LazyInputMap + } - interface LazyValue + public interface LazyValue { Object createValue(UIDefaults table); - } // interface LazyValue + } public static class ProxyLazyValue implements LazyValue { @@ -209,28 +207,24 @@ public class UIDefaults extends Hashtable { return inner.createValue (table); } - } // class ProxyLazyValue + } private static final long serialVersionUID = 7341222528856548117L; public UIDefaults() { bundles = new LinkedList (); - listeners = new HashSet (); defaultLocale = Locale.getDefault (); + propertyChangeSupport = new PropertyChangeSupport(this); } public UIDefaults(Object[] entries) { - bundles = new LinkedList (); - listeners = new HashSet (); - defaultLocale = Locale.getDefault (); + this(); for (int i = 0; (2*i+1) < entries.length; ++i) - { put (entries[2*i], entries[2*i+1]); } - } public Object get(Object key) { @@ -472,7 +466,6 @@ public class UIDefaults extends Hashtable getUIError ("InvocationTargetException ("+ ite.getTargetException() +") calling createUI(...) on " + cls.toString ()); return null; - } catch (Exception e) { @@ -481,43 +474,38 @@ public class UIDefaults extends Hashtable } } - void addPropertyChangeListener(PropertyChangeListener listener) + public void addPropertyChangeListener(PropertyChangeListener listener) { - listeners.add (listener); + propertyChangeSupport.addPropertyChangeListener(listener); } void removePropertyChangeListener(PropertyChangeListener listener) { - listeners.remove (listener); + propertyChangeSupport.removePropertyChangeListener(listener); } public PropertyChangeListener[] getPropertyChangeListeners() { - return (PropertyChangeListener[]) listeners.toArray (); + return propertyChangeSupport.getPropertyChangeListeners(); } - protected void firePropertyChange(String property, Object o, Object n) + protected void firePropertyChange(String property, + Object oldValue, Object newValue) { - Iterator i = listeners.iterator (); - PropertyChangeEvent pce = new PropertyChangeEvent (this, property, o, n); - while (i.hasNext ()) - { - PropertyChangeListener pcl = (PropertyChangeListener) i.next (); - pcl.propertyChange (pce); - } + propertyChangeSupport.firePropertyChange(property, oldValue, newValue); } - void addResourceBundle(String name) + public void addResourceBundle(String name) { bundles.addFirst (name); } - void removeResourceBundle(String name) + public void removeResourceBundle(String name) { bundles.remove (name); } - void setDefaultLocale(Locale loc) + public void setDefaultLocale(Locale loc) { defaultLocale = loc; } @@ -526,4 +514,4 @@ public class UIDefaults extends Hashtable { return defaultLocale; } -} // class UIDefaults +} |