Dovrei creare una sorta di rubrica in Java con una tabella, per esercizio.. l'unico problema è che quando inserisco una JTable in un JScrollPane, mi si viene a creare uno spazio vuoto sotto alla tabella, che di conseguenza va a spingere più in basso gli altri widget, così intendo:

Senza titolo-1.jpg

come posso fare per far adattare lo spazio inutilizzato sotto alla grandezza della mia tabella?
il pezzettino di codice riguardo al TableView è il seguente:

codice:
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package contatto;


import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;


/**
 *
 * @author Gianluca
 */
public class MyTableView extends JPanel implements ActionListener{
    JTextField f1, f2;
    JButton b1;
    Contatto[] elementi;
    
    public MyTableView(Contatto[] l){
        super();
        this.elementi = l;
        MyTableModel model = new MyTableModel(elementi);
        JTable table = new JTable(model);
        JScrollPane scroll = new JScrollPane(table);


        f1 = new JTextField(25);
        f2 = new JTextField(25); 
        f2.setEditable(false);
        b1 = new JButton("Ricerca");
        
        add(scroll);
        add(f1);
        add(b1);
        add(f2);
        
        b1.addActionListener(this);
    }


    @Override
    public void actionPerformed(ActionEvent e) {
        String parola_in = f1.getText().toLowerCase();
        StringBuilder parola_out = new StringBuilder();
        parola_out.append("Trovato: ");
        for ( int i = 0; i < elementi.length; i++ ){
            if (elementi[i].nome.toLowerCase().contains(parola_in) || elementi[i].cognome.toLowerCase().contains(parola_in)){
                parola_out.append(elementi[i].nome);
                parola_out.append(" ");
                parola_out.append(elementi[i].cognome);
                break;
            }
        }
        f2.setText(parola_out.toString());
    }
}