Disposizioni più sofisticate: BorderLayout e JPanel
E se volessimo disporre i componenti in maniera un po' più flessibile?
La soluzione è quella di prepararci dei piccoli gruppi di componenti, disposti in un riquadro invisibile, usando un LayoutManager e poi inserire questi riquadri invisibili in un riquadro di livello superiore o nella finestra.
Il riquadro invisibile, cui associare il LayoutManager ed inserire i componenti è JPanel.
Proviamo a modificare il layout dell'esempio precedente nel seguente modo:
Associare un BorderLayout al JFrame
Mettere la JLabel con il prompt ed il JTextField nella stessa riga
Inserire questi due elementi nella zona BorderLayout.NORTH del JFrame
Impostare a 10 caratteri la dimensione del JTextField per evitare che venga disegnato troppo piccolo
Mettere la JLabel con il risultato nella zona BorderLayout.CENTER del JFrame
Inserire i due bottoni affiancati nella zona BorderLayout.SOUTH del JFrame
Per ottenere questa disposizione dovremo:
creare due JPanel
asscoiare un FlowLayout a ciascun JPanel
aggiungere il JLabel ed il JTextField al primo JPanel
Aggiungere al JFrame il primo JPanel nella zona BorderLayout.NORTH
Aggiungere i due JButton la secondo JPanel
Aggiungere il secondo JPanel al JFrame nella zona BorderLayout.SOUTH