ciao....volevo creare un semplice JFrame...aggiungere un JPanel al JFrame...e pozionar poi i componenti sul JPanel.

il fatto e che i componenti che aggiungo al jpanel alcune volte nn li posiziona...o li posiziona a dimensioni ridotte....o sovrapposti, e nn riesco a capire perche....ogni volta che chiudo e riavvio li poziziona in modo diverso

Posto il codice...magari sbaglio qualcosa io...grazie


JFrame frame=new JFrame("Agent Directory Service Layer Monitor");
frame.setSize(500, 400);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOS E);

JPanel panel=new JPanel();
panel.setBackground(new Color(4,51,251));

layout=new GridBagLayout();
panel.setLayout(layout);
c=new GridBagConstraints();

frame.add(panel,BorderLayout.CENTER);

lab1=new JLabel("Porta:");
lab2=new JLabel("Messaggi Log:");
txt1=new JTextField();
txt1.setSize(200, 10);
txt2=new JTextArea();
txt2.setSize(200, 300);
startReg=new JButton("Start Reg.");
startUp=new JButton("Start Up");
shutDown=new JButton("Shutdown");
exit=new JButton("Exit");

c.gridx=0;
c.gridy=0;
panel.add(lab1,c);

c.gridx=0;
c.gridy=1;
panel.add(lab2,c);

c.gridx=1;
c.gridy=0;
panel.add(txt1,c);

c.gridx=1;
c.gridy=1;
panel.add(txt2,c);

c.gridx=3;
c.gridy=0;
panel.add(startReg,c);

c.gridx=3;
c.gridy=1;
panel.add(startUp,c);

c.gridx=3;
c.gridy=3;
panel.add(shutDown,c);

c.gridx=0;
c.gridy=5;
c.fill=GridBagConstraints.HORIZONTAL;
panel.add(exit,c);