I JFrame, come tutti (o quasi) i componenti Container di Swing hanno per default un layout di tipo BorderLayout (o GridLayout).
Se vuoi mettere i controlli dove vuoi tu puoi usare una tecnica, secondo me, molto efficace:
- Settare il layout del Container (JFrame, JPanel, ...) a null
- Impostare posizione e dimensioni dell'oggetto che vuoi aggiungere
- Aggiungerlo.
In questo modo avrai il pieno controllo dello spazio del tuo Container. Un esempio per capire:
La sintassi del metodo setBounds è la seguente:codice:public class MioFrame extends JFrame { private JPanel jp; private JTextPane jtp; public MioFrame() { getContentPane().setLayout(null); //tolgo il LayoutManager predefinito jtp = new JTextPane(); jtp.setBounds(0, 0, 300, 100); // Imposto posizione e dimensione del mio JTextPane jp = new JPanel(); jp.setBounds(0, 101, 300, 199); // Imposto posizione e dimensione del mio JPanel setSize(300, 300); // Imposto la dimensione della finestra getContentPane().add(jtp); getContantPane().add(jp); show(); } ... // Altri metodi }
setBounds(int posizioneX, int posizioneY, int larghezza, int altezza);
posizioneX è la posizione orizzontale dell'angolo superiore sinistro del tuo oggetto da inserire
posizioneY è la posizione verticale dell'angolo superiore sinistro del tuo oggetto da inserire
larghezza e altezza sono le dimensioni del tuo oggetto.
Ciao.



Rispondi quotando