title: removeAll not removing at next validate?
body: <p>Can someone explain why the following doesn't work as I expect?</p>
  
  <p>Pressing the button 'should' result in the display only containing the (empty) JScrollPane, ie the input field and button should disappear. However they stay until the component is resized...</p>
  
  <pre><code>public static void main(String[] args)
  {
      JFrame frame = new JFrame("test");
      frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
      final JPanel panel = new JPanel();
  
      Container cp = frame.getContentPane();
      cp.setLayout(new FlowLayout());
      cp.add(new JScrollPane(panel));
  
      Component textField = new JTextField("i am input");
      JButton button = new JButton(new AbstractAction("i am pressy")
      {
          @Override
          public void actionPerformed(ActionEvent e)
          {
              // this is already on the EDT
              panel.removeAll();
              panel.revalidate();
          }
      });
  
      panel.setLayout(new FlowLayout());
      panel.add(textField);
      panel.add(button);
  
      frame.pack();
      frame.setVisible(true);
  }
  </code></pre>
  
  <p>Thanks for your help. p.</p>