--- /home/cpdev/src/classpath/javax/swing/plaf/basic/BasicSplitPaneUI.java	2005-07-02 21:04:07.000000000 +0000
+++ javax/swing/plaf/basic/BasicSplitPaneUI.java	2005-06-30 05:35:19.000000000 +0000
@@ -1,5 +1,5 @@
 /* BasicSplitPaneUI.java --
-   Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+   Copyright (C) 2003, 2004 Free Software Foundation, Inc.
 
 This file is part of GNU Classpath.
 
@@ -71,12 +71,8 @@
   /**
    * This Layout Manager controls the position and size of the components when
    * the JSplitPane's orientation is HORIZONTAL_SPLIT.
-   *
-   * @specnote Apparently this class was intended to be protected,
-   *           but was made public by a compiler bug and is now
-   *           public for compatibility.
    */
-  public class BasicHorizontalLayoutManager implements LayoutManager2
+  protected class BasicHorizontalLayoutManager implements LayoutManager2
   {
     // 3 components at a time.
     // LEFT/TOP = 0
@@ -348,7 +344,7 @@
 		    height = Math.max(height, dims.height);
 	        }
 	    }
-	  return new Dimension(width, height);	
+	  return new Dimension(500, 500); //width, height);	
         }
       return null;
     }
@@ -489,12 +485,8 @@
   /**
    * This class is the Layout Manager for the JSplitPane when the orientation
    * is VERTICAL_SPLIT.
-   *
-   * @specnote Apparently this class was intended to be protected,
-   *           but was made public by a compiler bug and is now
-   *           public for compatibility.
    */
-  public class BasicVerticalLayoutManager
+  protected class BasicVerticalLayoutManager
     extends BasicHorizontalLayoutManager
   {
     /**
@@ -613,7 +605,7 @@
 		  width = Math.max(width, dims.width);
 	        }
 	    }
-	  return new Dimension(width, height);
+	  return new Dimension(500, 500); //width, height);
         }
       return null;
     }
@@ -661,12 +653,8 @@
 
   /**
    * This class handles FocusEvents from the JComponent.
-   *
-   * @specnote Apparently this class was intended to be protected,
-   *           but was made public by a compiler bug and is now
-   *           public for compatibility.
    */
-  public class FocusHandler extends FocusAdapter
+  protected class FocusHandler extends FocusAdapter
   {
     /**
      * This method is called when the JSplitPane gains focus.
@@ -692,10 +680,6 @@
   /**
    * This is a deprecated class. It is supposed to be used for handling down
    * and right key presses.
-   *
-   * @specnote Apparently this class was intended to be protected,
-   *           but was made public by a compiler bug and is now
-   *           public for compatibility.
    */
   public class KeyboardDownRightHandler implements ActionListener
   {
@@ -713,10 +697,6 @@
   /**
    * This is a deprecated class. It is supposed to be used for handling end
    * key presses.
-   *
-   * @specnote Apparently this class was intended to be protected,
-   *           but was made public by a compiler bug and is now
-   *           public for compatibility.
    */
   public class KeyboardEndHandler implements ActionListener
   {
@@ -734,10 +714,6 @@
   /**
    * This is a deprecated class. It is supposed to be used for handling home
    * key presses.
-   *
-   * @specnote Apparently this class was intended to be protected,
-   *           but was made public by a compiler bug and is now
-   *           public for compatibility.
    */
   public class KeyboardHomeHandler implements ActionListener
   {
@@ -755,10 +731,6 @@
   /**
    * This is a deprecated class. It is supposed to be used for handling resize
    * toggles.
-   *
-   * @specnote Apparently this class was intended to be protected,
-   *           but was made public by a compiler bug and is now
-   *           public for compatibility.
    */
   public class KeyboardResizeToggleHandler implements ActionListener
   {
@@ -776,10 +748,6 @@
   /**
    * This is a deprecated class. It is supposed to be used for handler up and
    * left key presses.
-   *
-   * @specnote Apparently this class was intended to be protected,
-   *           but was made public by a compiler bug and is now
-   *           public for compatibility.
    */
   public class KeyboardUpLeftHandler implements ActionListener
   {
@@ -797,10 +765,6 @@
   /**
    * This helper class handles PropertyChangeEvents from the JSplitPane. When
    * a property changes, this will update the UI accordingly.
-   *
-   * @specnote Apparently this class was intended to be protected,
-   *           but was made public by a compiler bug and is now
-   *           public for compatibility.
    */
   public class PropertyHandler implements PropertyChangeListener
   {
@@ -990,8 +954,8 @@
    */
   protected void installDefaults()
   {
-    divider = createDefaultDivider();
     resetLayoutManager();
+    divider = createDefaultDivider();
     nonContinuousLayoutDivider = createDefaultNonContinuousLayoutDivider();
     splitPane.add(divider, JSplitPane.DIVIDER);
 
@@ -1000,7 +964,6 @@
     splitPane.setBackground(defaults.getColor("SplitPane.background"));
     splitPane.setBorder(defaults.getBorder("SplitPane.border"));
     splitPane.setDividerSize(defaults.getInt("SplitPane.dividerSize"));
-    splitPane.setOpaque(true);
   }
 
   /**
@@ -1385,6 +1348,7 @@
    */
   public void paint(Graphics g, JComponent jc)
   {
+    // Do nothing. All the painting is handled by children.
   }
 
   /**
@@ -1445,8 +1409,9 @@
       layoutManager = new BasicHorizontalLayoutManager();
     else
       layoutManager = new BasicVerticalLayoutManager();
-    getSplitPane().setLayout(layoutManager);
+    layoutManager.invalidateLayout(splitPane);
     layoutManager.updateComponents();
+    getSplitPane().setLayout(layoutManager);
 
     // invalidating by itself does not invalidate the layout.
     getSplitPane().revalidate();
