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);
	}