classpath-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cp-patches] FYI: JComponent fixlet


From: Roman Kennke
Subject: [cp-patches] FYI: JComponent fixlet
Date: Mon, 27 Jun 2005 16:59:55 +0200
User-agent: Mozilla Thunderbird 1.0.2 (X11/20050317)

JComponent.getPreferredSize lets the ComponentUI override a manually set preferredSize. This is not allowed. The priority is as follows:

(0. constrained by minimumSize)
1. user set preferredSize
2. ComponentUI preferredSize
3. Container preferredSize (LayoutManager)
4. Component preferredSize

This is fixed.

2005-06-27  Roman Kennke  <address@hidden>

       * javax/swing/JComponent.java
(getPreferredSize): Don't let the UI replace a manually set preferred
       size.

/Roman

Index: javax/swing/JComponent.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/JComponent.java,v
retrieving revision 1.46
diff -u -r1.46 JComponent.java
--- javax/swing/JComponent.java 20 Jun 2005 14:35:53 -0000      1.46
+++ javax/swing/JComponent.java 27 Jun 2005 14:57:18 -0000
@@ -1022,12 +1022,13 @@
     if (preferredSize != null)
       prefSize = preferredSize;
 
-    if (ui != null)
+    else if (ui != null)
       {
         Dimension s = ui.getPreferredSize(this);
         if (s != null)
           prefSize = s;
       }
+
     if (prefSize == null)
       prefSize = super.getPreferredSize();
     // make sure that prefSize is not smaller than minSize

reply via email to

[Prev in Thread] Current Thread [Next in Thread]