title: Removing text field created with a SpringLayout
body: <p>I'm using the code from the example on the official page of Oracle. The one for sorting and filtering table data. In the original variant it has two fields - one for entering a filtering criteria and second for showing which row from the grid is selected. I don't need the second one, want to leave just the filter field, but it seems that I miss something. Below is my code with comments on the code I thought was unnecessary :</p>
  
  <pre><code>public TableFilterDemo() {
          super();
          setLayout(new BoxLayout(this, BoxLayout.Y_AXIS));
  
          //Create a table with a sorter.
          MyTableModel model = new MyTableModel("customers.dat");
          sorter = new TableRowSorter&lt;MyTableModel&gt;(model);
          table = new JTable(model);
          table.setRowSorter(sorter);
          table.setPreferredScrollableViewportSize(new Dimension(500, 70));
          table.setFillsViewportHeight(true);
  
          //For the purposes of this example, better to have a single
          //selection.
        //  table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  
          //When selection changes, provide user with row numbers for
          //both view and model.
       /*   table.getSelectionModel().addListSelectionListener(
                  new ListSelectionListener() {
                      public void valueChanged(ListSelectionEvent event) {
                          int viewRow = table.getSelectedRow();
                          if (viewRow &lt; 0) {
                              //Selection got filtered away.
                              statusText.setText("");
                          } else {
                              int modelRow = 
                                  table.convertRowIndexToModel(viewRow);
                              statusText.setText(
                                  String.format("Selected Row in view: %d. " +
                                      "Selected Row in model: %d.", 
                                      viewRow, modelRow));
                          }
                      }
                  }
          );
  */
  
          //Create the scroll pane and add the table to it.
          JScrollPane scrollPane = new JScrollPane(table);
  
          //Add the scroll pane to this panel.
          add(scrollPane);
  
          //Create a separate form for filterText and statusText
          JPanel form = new JPanel(new SpringLayout());
          JLabel l1 = new JLabel("Student Number:", SwingConstants.TRAILING);
          form.add(l1);
          filterText = new JTextField();
          //Whenever filterText changes, invoke newFilter.
          filterText.getDocument().addDocumentListener(
                  new DocumentListener() {
                      public void changedUpdate(DocumentEvent e) {
                          newFilter();
                      }
                      public void insertUpdate(DocumentEvent e) {
                          newFilter();
                      }
                      public void removeUpdate(DocumentEvent e) {
                          newFilter();
                      }
                  });
          l1.setLabelFor(filterText);
          form.add(filterText);
         /* JLabel l2 = new JLabel("Status:", SwingConstants.TRAILING);
          form.add(l2);
          statusText = new JTextField();
          l2.setLabelFor(statusText);
          form.add(statusText); */ 
          SpringUtilities.makeCompactGrid(form, 2, 2, 6, 6, 6, 6);
          add(form);
      }
  </code></pre>
  
  <p>I get a lot of mistakes when I try ti compile but the first is:</p>
  
  <blockquote>
    <p>Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: No such child: 2</p>
  </blockquote>