I rewrote ScrollPaneLayout.minimumLayoutSize() to make the mauve tests pass for this method.
2006-01-29 Roman Kennke <[EMAIL PROTECTED]> * javax/swing/ScrollPaneLayout.java (minimumLayoutSize): Rewritten to match JDKs behaviour. /Roman
Index: javax/swing/ScrollPaneLayout.java =================================================================== RCS file: /cvsroot/classpath/classpath/javax/swing/ScrollPaneLayout.java,v retrieving revision 1.20 diff -u -r1.20 ScrollPaneLayout.java --- javax/swing/ScrollPaneLayout.java 27 Oct 2005 18:56:51 -0000 1.20 +++ javax/swing/ScrollPaneLayout.java 29 Jan 2006 19:07:44 -0000 @@ -285,20 +285,20 @@ // Sun's implementation simply throws a ClassCastException if // parent is no JScrollPane, so do we. JScrollPane sc = (JScrollPane) parent; - Dimension viewportSize = viewport.getMinimumSize(); - int width = viewportSize.width; - int height = viewportSize.height; - if (hsb != null && hsb.isVisible()) - height += hsb.getMinimumSize().height; - if (vsb != null && vsb.isVisible()) - width += vsb.getMinimumSize().width; - if (rowHead != null && rowHead.isVisible()) - width += rowHead.getMinimumSize().width; - if (colHead != null && colHead.isVisible()) - height += colHead.getMinimumSize().height; Insets i = sc.getInsets(); - return new Dimension(width + i.left + i.right, - height + i.top + i.bottom); + Dimension viewportMinSize = sc.getViewport().getMinimumSize(); + + int width = i.left + i.right + viewportMinSize.width; + if (sc.getVerticalScrollBarPolicy() + != JScrollPane.VERTICAL_SCROLLBAR_NEVER) + width += sc.getVerticalScrollBar().getMinimumSize().width; + + int height = i.top + i.bottom + viewportMinSize.height; + if (sc.getHorizontalScrollBarPolicy() + != JScrollPane.HORIZONTAL_SCROLLBAR_NEVER) + height += sc.getHorizontalScrollBar().getMinimumSize().height; + + return new Dimension(width, height); } /**