summaryrefslogtreecommitdiff
path: root/javax/swing/SpringLayout.java
diff options
context:
space:
mode:
authorLillian Angel <langel@redhat.com>2005-09-07 20:33:26 +0000
committerLillian Angel <langel@redhat.com>2005-09-07 20:33:26 +0000
commit1de3c9ab5fbd3f59add4bb4ea63d15ebe0c6b248 (patch)
tree0f3773746f2515cc8d562ec42591dbb85b3e7aa7 /javax/swing/SpringLayout.java
parent0df3cb15ca17063f505d13567ed1a4b2e41cd10d (diff)
downloadclasspath-1de3c9ab5fbd3f59add4bb4ea63d15ebe0c6b248.tar.gz
2005-09-07 Lillian Angel <langel@redhat.com>
* javax/swing/SpringLayout.java: Fixes Bug #PR23003 (getConstraints): Width and height should always be reset, even if constraints is not null. Constraints deal with the location of the component.
Diffstat (limited to 'javax/swing/SpringLayout.java')
-rw-r--r--javax/swing/SpringLayout.java43
1 files changed, 18 insertions, 25 deletions
diff --git a/javax/swing/SpringLayout.java b/javax/swing/SpringLayout.java
index df9ddffb6..592cc0e02 100644
--- a/javax/swing/SpringLayout.java
+++ b/javax/swing/SpringLayout.java
@@ -395,46 +395,40 @@ public class SpringLayout implements LayoutManager2
public SpringLayout.Constraints getConstraints(Component c)
{
Constraints constraints = (Constraints) constraintsMap.get(c);
+
if (constraints == null)
{
Container parent = c.getParent();
constraints = new Constraints();
+
if (parent != null)
{
- constraints.setX
- (Spring.constant(parent.getInsets().left));
- constraints.setY
- (Spring.constant(parent.getInsets().top));
+ constraints.setX(Spring.constant(parent.getInsets().left));
+ constraints.setY(Spring.constant(parent.getInsets().top));
}
else
{
- constraints.setX
- (Spring.constant(0));
- constraints.setY
- (Spring.constant(0));
-
+ constraints.setX(Spring.constant(0));
+ constraints.setY(Spring.constant(0));
}
- constraints.setWidth
- (Spring.constant(c.getMinimumSize().width,
- c.getPreferredSize().width,
- c.getMaximumSize().width));
- constraints.setHeight
- (Spring.constant(c.getMinimumSize().height,
- c.getPreferredSize().height,
- c.getMaximumSize().height));
-
- constraintsMap.put(c, constraints);
-
}
+ constraints.setWidth(Spring.constant(c.getMinimumSize().width,
+ c.getPreferredSize().width,
+ c.getMaximumSize().width));
+ constraints.setHeight(Spring.constant(c.getMinimumSize().height,
+ c.getPreferredSize().height,
+ c.getMaximumSize().height));
+ constraintsMap.put(c, constraints);
return constraints;
}
/**
* Returns the X alignment of the Container <code>p</code>.
- *
- * @param p the {@link java.awt.Container} for which to determine the X
- * alignment.
+ *
+ * @param p
+ * the {@link java.awt.Container} for which to determine the X
+ * alignment.
* @return always 0.0
*/
public float getLayoutAlignmentX(Container p)
@@ -480,6 +474,7 @@ public class SpringLayout implements LayoutManager2
for (int index = 0; index < components.length; index++)
{
Component c = components[index];
+
Constraints constraints = getConstraints(c);
int x = constraints.getX().getValue();
int y = constraints.getY().getValue();
@@ -597,7 +592,6 @@ public class SpringLayout implements LayoutManager2
if (bottomEdge > maxY)
maxY = bottomEdge;
}
-
return new Dimension(maxX, maxY);
}
@@ -621,7 +615,6 @@ public class SpringLayout implements LayoutManager2
Spring strut = Spring.constant(pad);
Spring otherEdge = constraints2.getConstraint(e2);
constraints1.setConstraint(e1, Spring.sum(strut, otherEdge));
-
}
/**