grazie 1000 per l'esempio che ho studiato ma non mi convinceva il fatto che si "spezzavano" i campi di testo....mi è venuta "un'illuminazione" 
ho risolto con una cosa tipo questa
codice:
class BranoPanel{
...
SpringLayout layout = new SpringLayout();
this.setLayout(layout);
JPanel riga1 = new JPanel();
riga1.add(new JLabel("Titolo"));
BranoPanel.titolo = new JTextField(50);
riga1.add(titolo);
this.add(riga1);
layout.putConstraint(SpringLayout.WEST, riga1, 5, SpringLayout.WEST, this);
layout.putConstraint(SpringLayout.NORTH, riga1, 5, SpringLayout.NORTH, this);
JPanel riga2 = new JPanel();
riga2.add(new JLabel("casa"));
BranoPanel.titolo = new JTextField(5);
riga2.add(titolo);
this.add(riga2);
layout.putConstraint(SpringLayout.WEST, riga2, 5, SpringLayout.WEST, this);
layout.putConstraint(SpringLayout.NORTH, riga2, 3, SpringLayout.SOUTH, riga1);
}
non è il massimo ma lo preferisco :-P
ora sto distruggendo il monitor a testate per JScrollPane che simpaticamente non funziona a meno che io non specifichi la preferredSize del BranoPanel che sto arbitrariamente settando come la dimensione del JFrame ma mi crea dei problemi se la finestra parte già piccola in precedenza