GridBagLayout. Campos desalinhados

Pessoal,
Estou com um grande problema… estou comecando a ver a parte gráfica awt/swing.
ao criar um formulario os meus labels nao ficam ajustados com as minhas caixas de texto… usando o gerenciador GridBagLayout.
Achei estranho, pois o pessoal costuma dizer que o gridbaglayout costuma ser flexivel, apesar de mais complexo…

da uma olhada…

[code]import java.awt.;
import java.awt.event.
;

//Classe
public class TrabalhoWordQuestao15 extends Frame{

//LABEL
/* ----------------------------------- */

private Label lblNome = new Label("Nome:");
private Label lblEndereco = new Label("Endereco:");
private Label lblEndNumero = new Label("Número:");
private Label lblBairro = new Label("Bairro:");
private Label lblIdade = new Label("Idade:");
private Label lblSexo = new Label("Sexo:");
private Label lblEmail = new Label("Email :");
private Label lblFone = new Label("Fone:");
private Label lblCelular = new Label("Celular:");
private Label lblInformeSistema = new Label("Informe os Sistemas que utiliza:");
private Label lblNaturalidade = new Label("Naturalidade:");
private Label lblUf = new Label("UF:");
private Label lblCep = new Label("CEP:");


//TEXT FIELD
/* ----------------------------------- */

private TextField txtNome = new TextField(30);
private TextField txtEndereco = new TextField(30);
private TextField txtEndNumero = new TextField(15);
private TextField txtBairro = new TextField(30);
private TextField txtIdade = new TextField(20);
private TextField txtEmail = new TextField(60);
private TextField txtFone = new TextField(15);
private TextField txtDDDFone = new TextField(5);
private TextField txtCelular = new TextField(15);
private TextField txtDDDCelular = new TextField(5);
private TextField txtNaturalidade = new TextField(15);
private TextField txtCep = new TextField(15);


//CHOICE
/* ----------------------------------- */

private Choice txtUf = new Choice();


//GRUPO CHECK BOX-RADIOs
/* ----------------------------------- */

private CheckboxGroup cbgSexo = new CheckboxGroup();
private Checkbox cbMasculino;
private Checkbox cbFeminino;


//CHECKBOX
/* ----------------------------------- */

private Checkbox cbWindows = new Checkbox("Windows");
private Checkbox cbLinux = new Checkbox("Linux");
private Checkbox cbUnix = new Checkbox("Unix");



// Contrutor da Classe
public TrabalhoWordQuestao15(){
	super("Layout Exercicio15 - Prof Vladimir");
	addWindowListener(new WindowAdapter(){
		public void windowClosing(WindowEvent e){
			System.exit(0);
		}
	});
	
	this.setSize(800, 600);
	this.setLayout(new GridBagLayout());
	GridBagConstraints cell = new GridBagConstraints();
	
	
	//ADICIONANDO COMPONENTES AO LAYOUT;
	
	
	//Labels
	/* ----------------------------------- */	
	
	cell.gridx = 0;
	cell.gridy = 0;
	this.add(lblNome,cell);
	
	cell.gridx = 0;
	cell.gridy = 1;
	this.add(lblEndereco,cell);

	cell.gridx = 4;
	cell.gridy = 0;
	this.add(lblEndNumero,cell);
			
	cell.gridx = 0;
	cell.gridy = 2;
	this.add(lblBairro,cell);
	
	cell.gridx = 0;
	cell.gridy = 3;
	this.add(lblIdade,cell);
	
	cell.gridx = 0;
	cell.gridy = 4;
	this.add(lblSexo,cell);
	
	cell.gridx = 0;
	cell.gridy = 5;
	this.add(lblEmail,cell);
	
	cell.gridx = 0;
	cell.gridy = 6;
	this.add(lblFone,cell);
	
	cell.gridx = 3;
	cell.gridy = 6;
	this.add(lblCelular,cell);
	
	cell.gridx = 0;
	cell.gridy = 7;
	cell.gridwidth = 3;
	this.add(lblInformeSistema,cell);
	
	cell.gridx = 3;
	cell.gridy = 3;
	this.add(lblNaturalidade,cell);
	
	cell.gridx = 4;
	cell.gridy = 2;
	this.add(lblUf,cell);
	
	cell.gridx = 4;
	cell.gridy = 1;
	this.add(lblCep,cell);
	
	
	//TextFields
	/* ----------------------------------- */
	
	cell.gridx = 1;
	cell.gridy = 0;
	cell.gridwidth = 3;
	this.add(txtNome,cell);
	
	cell.gridx = 1;
	cell.gridy = 1;
	cell.gridwidth = 3;
	this.add(txtEndereco,cell);
	
	cell.gridx = 5;
	cell.gridy = 0;
	this.add(txtEndNumero,cell);
	
	cell.gridx = 5;
	cell.gridy = 1;
	this.add(txtCep,cell);
		
	cell.gridx = 1;
	cell.gridy = 2;
	cell.gridwidth = 3;
	this.add(txtBairro,cell);
	
	cell.gridx = 1;
	cell.gridy = 3;
	cell.gridwidth = 2;
	this.add(txtIdade,cell);
	
	cell.gridx = 4;
	cell.gridy = 3;
	cell.gridwidth = 2;
	this.add(txtNaturalidade,cell);
	
	cell.gridx = 1;
	cell.gridy = 5;
	cell.gridwidth = 5;
	this.add(txtEmail,cell);
	
	cell.gridx = 1;
	cell.gridy = 6;
	this.add(txtDDDFone,cell);
	
	cell.gridx = 2;
	cell.gridy = 6;
	this.add(txtFone,cell);
	
	cell.gridx = 4;
	cell.gridy = 6;
	this.add(txtDDDCelular,cell);
	
	cell.gridx = 5;
	cell.gridy = 6;
	this.add(txtCelular,cell);
	
	
	pack();
	
}

// Classe Main
public static void main(String args[]){
	TrabalhoWordQuestao15 gui = new TrabalhoWordQuestao15();
	gui.setVisible(true);
}



// ...

}
[/code]

por favor, alguém pode me dizer como eu posso criar esse layout com esse tipo de gerenciador…
:wink:

obrigado!

grato.