diff options
author | Lillian Angel <langel@redhat.com> | 2005-09-07 20:33:26 +0000 |
---|---|---|
committer | Lillian Angel <langel@redhat.com> | 2005-09-07 20:33:26 +0000 |
commit | 1de3c9ab5fbd3f59add4bb4ea63d15ebe0c6b248 (patch) | |
tree | 0f3773746f2515cc8d562ec42591dbb85b3e7aa7 /javax/swing/SpringLayout.java | |
parent | 0df3cb15ca17063f505d13567ed1a4b2e41cd10d (diff) | |
download | classpath-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.java | 43 |
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)); - } /** |