Domanda Problema Layout e JButton

Stato
Discussione chiusa ad ulteriori risposte.

SmartApp

Utente Gold
24 Aprile 2013
528
31
156
289
Buongiorno a tutti,
sto facendo un progetto per un esame di Java e sto incappando in un piccolo dubbio riguardante la GUI del programma.

Primo dubbio sono i layout. Se volessi creare una finestra in cui ho un testo in alto a sx, un bottone in alto a dx e altri due testi affiancati in basso, quale layout mi conviene utilizzare? non voglio che la finestra venga vista come divisa in 4 blocchi, ma posizionare io i miei oggetti.

Seconda domanda: supponiamo che io utilizzi un GridLayout. Come faccio a fare in modo che i bottoni che ho inserito si autoadattino? (parlo di dimensioni) Ho provato con pack() ma non funziona bene, anche perchè mi compatta tutta la finestra e non solo i bottoni.

Se vi può servire, ecco le due classi interessate. La prima crea il Frame, mentre la seconda inserisce tutti i componenti e balle varie. E' fatto così perchè sfrutto il polimorfismo con altre classi che non sto a mettervi.

Codice:
public class grafica extends JFrame {
	
	private static int width = 500;
	private static int height = 500;
	
	public grafica(){
		this("");
	}
	
	public grafica(String Titolo){
		super(Titolo);
		setBounds(100, 100, width, height);
		setDefaultCloseOperation(EXIT_ON_CLOSE);
	}
	
}



public class MainWindow extends grafica implements ActionListener{
	
	private JButton Selezione, Modifiche, Ricerca;
	
	public MainWindow(){
		this("");
	}
	
	public MainWindow(String Titolo){
		super(Titolo);
		add(Selezione = new JButton("Scelta File"));
		add(Modifiche = new JButton("Modifiche effettuate"));
		add(Ricerca = new JButton("Ricerca info su risultati"));
		
		Selezione.addActionListener(this);
		Modifiche.addActionListener(this);
		Ricerca.addActionListener(this);
		
		setLayout(new GridLayout(0,1) );
		setVisible(true);
	}
	
	public void actionPerformed(ActionEvent e){
		Object Premuto = e.getSource();
		if(Premuto == Selezione){
			EditWindow Schermata = new EditWindow("Edit Selections");
			
		}
		if(Premuto == Modifiche);

		if(Premuto == Ricerca);
	}
	


}
 
Stato
Discussione chiusa ad ulteriori risposte.