Newsgroup: it.comp.java
Titolo: Consiglio su formattazione JFrame

Salve, sto scrivendo una classe con un JFrame in cui carico un
JMenuBar e due JPanel (di cui uno, pannelloOutput, ne contiene altri
due). Ttralascio i loro Components e i vari eventi.
Sono riuscito a gestire abbastanza bene il tutto a livello grafico
tranne una cosa: la dimensione iniziale della finestra e quella dei
due Panel principali.
In particolare, il setSize di JPanel sembra non dare alcun effetto.
La finestra si apre sempre della stessa dimensione (tra l'altro troppo
piccola, non fa leggere i TitledBorder).
Solo se commento il frame.pack() e inserisco un frame.setSize si apre
della dimensione voluta ma, i JPanel sono sempre grandi quanto gli
pare a loro.
Qualcuno sa dirmi dove sbaglio?
Altra cosa: come si fa ad impostare che il JFrame compaia al centro
del video anzichč nell'angolo in alto a destra?
Grazie 
Posto il codice
import java.awt.*;
import javax.swing.*;
public class Pippo {
	JFrame frame;
	JMenuBar menuBar;
	JPanel pannelloScelte;
	JPanel pannelloOutput;
	JPanel pannelloMessaggi;
	JPanel pannelloDataElaborata;
 
	public Pippo (){
 
		frame = new JFrame("Pippo");
		menuBar = new JMenuBar();
 
                pannelloScelte = new JPanel();
		pannelloOutput = new JPanel();
	        pannelloScelte.setSize(350,250);
		pannelloScelte.setBorder(BorderFactory.createCompoundBorder(
                BorderFactory.createTitledBorder("Impostazione dei
dati"),
                BorderFactory.createEmptyBorder(5,5,5,5)));
		pannelloScelte.setLayout(new GridLayout(9, 1));
 
                pannelloMessaggi = new JPanel();
	        pannelloMessaggi.setSize(300,50);
		pannelloMessaggi.setBorder(BorderFactory.createCompoundBorder(
                BorderFactory.createTitledBorder("Stato
dell'elaborazione"),
                BorderFactory.createEmptyBorder(5,5,5,5)));
		pannelloDataElaborata = new JPanel();
	        pannelloDataElaborata.setSize(50,50);                        
 
pannelloDataElaborata.setBorder(BorderFactory.createCompoundBorder(
                BorderFactory.createTitledBorder("Data di
estrazione"),
                BorderFactory.createEmptyBorder(5,5,5,5)));
		pannelloOutput.setLayout(new GridLayout (1,2));
		pannelloOutput.add(pannelloMessaggi);
		pannelloOutput.add(pannelloDataElaborata);
		//aggiungiComponenti();
		frame.setJMenuBar(menuBar);
		frame.getContentPane().add(BorderLayout.NORTH,pannelloScelte); 
		frame.getContentPane().add(BorderLayout.CENTER,pannelloOutput); 
	        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  	        //frame.setSize(400,550);
	        frame.pack();
		frame.setVisible(true);
 
	}
	public static void main(String[] args) {
    	// Set the look and feel.
    	try {
    	    UIManager.setLookAndFeel(
    		UIManager.getCrossPlatformLookAndFeelClassName());
    	} catch(Exception e) {}
    	Pippo p = new Pippo();
    }
}

Avviso: manca la } che chiude la classe.

 del video anzichè nell'angolo in alto a destra?


Grazie Alex=),
devo studiarmi un po' queste classi, poi ti rispondo.
Quello che però non ho capito è allora a che serve setSize().
il setBounds invece non lo devo applicare al frame?
Cioè JFrame f = new JFrame;
f.setBounds(x,y,w,h);

 ha scritto nel messaggio
news:1113310980....@f14g2000cwb.googlegroups.com...
Grazie Alex=),
devo studiarmi un po' queste classi, poi ti rispondo.
Quello che perň non ho capito č allora a che serve setSize().
il setBounds invece non lo devo applicare al frame?
Cioč JFrame f = new JFrame;
f.setBounds(x,y,w,h);