Ecco un esempio di come puoi ottenere l'effetto che vuoi usando il GridBagLayout; ho usato una label al posto dell'area di testo.
codice:
class MyPanel extends JPanel{
JButton pulsante = new JButton("somma");
JTextField field1 = new JTextField(20);
JTextField field2 = new JTextField(20);
public MyPanel(){
setLayout(new GridBagLayout());
//setLayout(new GridBorderLayout());
GridBagConstraints c = new GridBagConstraints();
c.insets = new Insets(5, 5, 5, 5);
c.ipadx = 2;
c.ipady = 2;
c.anchor = GridBagConstraints.LINE_START;
c.gridwidth = 3;
// JTextArea area = new JTextArea(1, 40);
// area.setText(" Inserire i due numeri da sommare:");
// area.setEditable(false);
// add(area, c);
add(new JLabel("Inserire i due numeri da sommare"), c);
c.anchor = GridBagConstraints.LINE_START;
c.gridwidth = 1;
c.gridy = 1;
add(new JLabel("primoTag"), c);
c.anchor = GridBagConstraints.LINE_END;
c.gridwidth = 2;
c.gridx = 1;
add(field1, c);
c.anchor = GridBagConstraints.LINE_START;
c.gridx = 0;
c.gridwidth = 1;
c.gridy = 2;
add(new JLabel("secondoTag"), c);
c.anchor = GridBagConstraints.LINE_END;
c.gridwidth = 2;
c.gridx = 1;
add(field2, c);
c.gridy = 3;
c.gridx = 0;
c.anchor = GridBagConstraints.LINE_START;
c.gridwidth = 1;
add(new JLabel("sommaTag"), c);
c.gridx = 2;
//c.anchor = GridBagConstraints.LINE_END;
add(pulsante, c);
validate();
}
}
per impedire il ridimensionamento c'è un metodo apposito, leggiti le api del JFrame.