Credevo di aver messo il codice in modo corretto. Pardon!
[CODE]
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class ProvaTrePannelli {

PannelloBase panBase;
PannelloSuperiore panSup;
PannelloInferiore panInf;

public ProvaTrePannelli() {

// Crea e attiva la finestra.
JFrame f = new JFrame("ProvaTrePannelli");
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

// Crea un pannello rosso da usarsi come pannello dei contenuti.
panBase = new PannelloBase();

// Definisce panBase come pannello dei contenuti.
f.setContentPane(panBase);

// Crea un pannello giallo da mettere nella parte alta della finestra.
panSup = new PannelloSuperiore();

// Ne crea un'altro magenta da mettere nella parte bassa
panInf = new PannelloInferiore();

// Aggiunge i pannelli al pannello dei contenuti.
panBase.add(panSup, BorderLayout.NORTH);
panBase.add(panInf, BorderLayout.SOUTH);
// e aggiunge una atichetta
panBase.add(new JLabel("Testo in etichetta centrata.", SwingConstants.CENTER), BorderLayout.CENTER);

// Visualizza la finestra.
f.pack();
f.setVisible(true);
}

class PannelloBase extends JPanel{
/* Dovendo essere usato come pannello dei contenuti è preferibile assegnargli
BorderLayout come layout manager (quello predefinito sarebbe FlowLayout) */

public PannelloBase() {
setLayout(new BorderLayout());
setBackground(Color.RED);
setPreferredSize(new Dimension(600, 360));
}

public void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawString("Testo in posizione fissa.", 50, 150);
}

}

class PannelloSuperiore extends JPanel{

private JTextField txtY;
private JButton puls;
private String testo;
private int y;

public PannelloSuperiore() {
LayoutManager layout = new FlowLayout(FlowLayout.LEFT);
setLayout(layout);
setBackground(Color.YELLOW);

JLabel etichetta = new JLabel("Scegliere la posizione y = ");
add(etichetta);

txtY = new JTextField();
txtY.setPreferredSize(new Dimension(60,30));
txtY.setHorizontalAlignment(JTextField.CENTER);
AscoltatoreTesto ascTxtY = new AscoltatoreTesto();
txtY.addActionListener(ascTxtY);
add(txtY);

puls = new JButton("Premi");
add(puls);
}

class AscoltatoreTesto implements ActionListener {
public void actionPerformed (ActionEvent ev) {
try {
int ord = Integer.parseInt(txtY.getText());
setY(ord);
puls.requestFocus();
} catch (NumberFormatException e) {
setY(100);
txtY.setText("100");
txtY.requestFocus();
}
}
} // fine classe AscoltatoreTesto

public void setY(int y) { this.y = y; }

public int getY() { return y; }


} // fine classe PannelloSuperiore

class PannelloInferiore extends JPanel{

public PannelloInferiore() {
LayoutManager layout = new FlowLayout(FlowLayout.RIGHT);
setLayout(layout);
setBackground(Color.MAGENTA);

JButton puls = new JButton("Neutro");
add(puls);
}

} // fine classe PannelloInferiore

public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
public void run() { new ProvaTrePannelli(); }
});
}
} // Fine classe ProvaTrePannelli

/[CODE]