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());
}
}