diff options
Diffstat (limited to 'libjava/classpath/javax/swing/SpringLayout.java')
-rw-r--r-- | libjava/classpath/javax/swing/SpringLayout.java | 43 |
1 files changed, 18 insertions, 25 deletions
diff --git a/libjava/classpath/javax/swing/SpringLayout.java b/libjava/classpath/javax/swing/SpringLayout.java index df9ddffb654..592cc0e02a9 100644 --- a/libjava/classpath/javax/swing/SpringLayout.java +++ b/libjava/classpath/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)); - } /** |