Originariamente inviato da vide91
Salve,
vorrei inserire due argomenti in una finestra, uno sotto l'altro, ma mi succede che si accavalcano l'uno su l'altro, come devo fare ?
codice:
public static void main(String args[])
{
JFrame win;
win = new JFrame("Questa è l'intestazione della finestra");
Container c = win.getContentPane();
c.add(new JLabel("Questo è il primo contenuto della finestra"));
Container d = win.getContentPane();
d.add(new JLabel("Questo è il secondo contenuto della finestra"));
win.setSize(200,200);
win.setDefaultCloseOperation
(JFrame.EXIT_ON_CLOSE);
win.setVisible(true);
}
1. Il layout manager di default* di Container (usato se non ne indichi uno) è BorderLayout, che divide lo spazio in 5 zone: NORTH, EAST, SOUTH, WEST e CENTER. Ogni zona può contenere un singolo componente. Di default, add() aggiunge a CENTER. Tu stai aggiungendo due elementi a CENTER.
* Se usi JPanel, questo di default usa FlowLayout.
2. Perché usi due variabili per il Container? win.getContent() ti darà sempre lo stesso risultato...
codice:
public static void main(String[] args)
{
JFrame win = new JFrame("Questa e\' l'intestazione della finestra");
Container c = win.getContentPane();
c.setLayout(new FlowLayout());
c.add(new JLabel("Questo e\' il primo contenuto della finestra"));
c.add(new JLabel("Questo e\' il secondo contenuto della finestra"));
win.setSize(200, 200);
win.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
win.setVisible(true);
}