2005-09-14  Lillian Angel  <[EMAIL PROTECTED]>

        * javax/swing/JProgressBar.java
        (JProgressBar): Fixed to use setOrientation function.
        * javax/swing/plaf/metal/MetalProgressBarUI.java
        (createUI): Was using the same instance of the UI for
        each new JProgressBar. Fixed this.
        * javax/swing/plaf/basic/BasicTreeUI.java
        (installUI): Added call to prepareForUIInstall.
        (uninstallUI): Added call to prepareForUIUninstall.

Index: javax/swing/JProgressBar.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/JProgressBar.java,v
retrieving revision 1.12
diff -u -r1.12 JProgressBar.java
--- javax/swing/JProgressBar.java	7 Jul 2005 11:37:45 -0000	1.12
+++ javax/swing/JProgressBar.java	14 Sep 2005 20:21:47 -0000
@@ -243,7 +243,7 @@
     model = new DefaultBoundedRangeModel(minimum, 0, minimum, maximum);
     if (orientation != HORIZONTAL && orientation != VERTICAL)
       throw new IllegalArgumentException(orientation + " is not a legal orientation");    
-    this.orientation = orientation;
+    setOrientation(orientation);
     changeListener = createChangeListener();
     model.addChangeListener(changeListener);
     updateUI();
Index: javax/swing/plaf/basic/BasicTreeUI.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/plaf/basic/BasicTreeUI.java,v
retrieving revision 1.77
diff -u -r1.77 BasicTreeUI.java
--- javax/swing/plaf/basic/BasicTreeUI.java	14 Sep 2005 19:06:02 -0000	1.77
+++ javax/swing/plaf/basic/BasicTreeUI.java	14 Sep 2005 20:21:48 -0000
@@ -1328,6 +1328,7 @@
    */
   public void installUI(JComponent c)
   {
+    prepareForUIInstall();
     super.installUI(c);
     tree = (JTree) c;
     installDefaults();
@@ -1371,6 +1372,7 @@
    */
   public void uninstallUI(JComponent c)
   {
+    prepareForUIUninstall();
     uninstallDefaults();
     uninstallKeyboardActions();
     uninstallListeners();
Index: javax/swing/plaf/metal/MetalProgressBarUI.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/plaf/metal/MetalProgressBarUI.java,v
retrieving revision 1.2
diff -u -r1.2 MetalProgressBarUI.java
--- javax/swing/plaf/metal/MetalProgressBarUI.java	2 Jul 2005 20:32:51 -0000	1.2
+++ javax/swing/plaf/metal/MetalProgressBarUI.java	14 Sep 2005 20:21:48 -0000
@@ -38,17 +38,17 @@
 
 package javax.swing.plaf.metal;
 
+import java.util.HashMap;
+
 import javax.swing.JComponent;
 import javax.swing.plaf.ComponentUI;
 import javax.swing.plaf.basic.BasicProgressBarUI;
 
 public class MetalProgressBarUI
   extends BasicProgressBarUI
-{
-
-  // FIXME: maybe replace by a Map of instances when this becomes stateful
-  /** The shared UI instance for MetalProgressBarUIs */
-  private static MetalProgressBarUI instance = null;
+{  
+  /** The UI instances for MetalTreeUIs */
+  private static HashMap instances = null;
 
   /**
    * Constructs a new instance of MetalProgressBarUI.
@@ -67,8 +67,19 @@
    */
   public static ComponentUI createUI(JComponent component)
   {
-    if (instance == null)
-      instance = new MetalProgressBarUI();
+    if (instances == null)
+      instances = new HashMap();
+
+    Object o = instances.get(component);
+    MetalProgressBarUI instance;
+    if (o == null)
+      {
+        instance = new MetalProgressBarUI();
+        instances.put(component, instance);
+      }
+    else
+      instance = (MetalProgressBarUI) o;
+
     return instance;
   }
 }
_______________________________________________
Classpath-patches mailing list
Classpath-patches@gnu.org
http://lists.gnu.org/mailman/listinfo/classpath-patches

Reply via email to