Organização de componentes

Bom dia,

Apesar de estar cadastrado a algum tempo no fórum, estou começando agora a programar mais em Java e vou começar a postar mais aqui.
Acompanho o fórum a pelo menos uns 2 anos e acho bem interessante tudo relacionado ao que postam. Bom, vamos lá…

Eu tenho uma dúvida com relação a organização dos meus componentes no meu panel.
Eu estou fazendo da seguinte forma: Criei um JFrame e um JPanel. Aí coloquei todos os JLabel e JTextField no Panel.
Depois inclui no Form.
O Problema é que os JLabel e JTextField não estão ficando da forma como quero. Eu quero deixá-los alinhados na Vertical.
Estou fazendo uma tela de Cadastro. Mas eles estão todos embaralhados na tela.
Achei um tutorial onde explicava algo desse tipo

...
GridBagConstraints gbc = new GridBagConstraints();
gbc.gridx = 1; gbc.gridy = 0;
_fieldNome = new JTextField(13);
painel.add(_fieldNome, gbc);

Mas mesmo assim não consigo ainda deixá-los nem perto do que quero.
Na verdade não tenho idéia de como deixa-los organizados.
Se alguém puder me explicar como posso fazer, ou então colocar um código de exemplo, agradeço.
Apenas pra frizar: Não é que quero q façam o código pra mim, mas é que vendo um código já pronto sobre e de preferência comentado posso dar seguimento no meu projeto.
Já que procurei na net e mesmo com vários conteúdos não consegui fazê-lo funcionar, estou pedindo ajuda aqui no fórum.
Desde já agradeço,

Att

Fala, miltonlp!

Para organizar componentes na tela, você deve aprender sobre Layouts. Procure sobre FlowLayout, BorderLayout, GridBagLayout (do exemplo do seu código), MigLayout, dentre outros.

Para resolver seu problema: o Y é a linha, e o X é a coluna. Logo, para ir colocando na vertical, vá aumentando o valor do Y!

getContentPane().setLayout( new GridBagLayout() );

gbc.gridx = 0;
gbc.gridy = 0;
getContentPane().add( new JLabel("Nome:"), gbc );

gbc.gridx = 0;
gbc.gridy = 1;
getContentPane().add( new JTextField(15), gbc );

gbc.gridx = 0;
gbc.gridy = 2;
getContentPane().add( new JLabel("Endereço:"), gbc );

gbc.gridx = 0;
gbc.gridy = 3;
getContentPane().add( new JTextField(25), gbc );

gbc.gridx = 0;
gbc.gridy = 4;
getContentPane().add( new JButton("Cadastrar"), gbc );

E voilà!

Tente isso, e nos dê um feedback!

Valeu, abraço!

Como o Nicolas falou, estude os layouts e faça testes, eu apanhei muito no começo, mas foi tentando que eu consegui pegar o jeito.
Gosto também de usar bordas nos componentes para ajustar distâncias entre eles.

Você pode também usar IDEs que fazem este trabalho por você como o Netbeans, mas aconselho que você saiba fazer na mão mesmo que prefira usar uma IDE.
Eu uso eclipse, sem plugin, faço na mão mesmo.

Na pior das hipoteses, você pode usar setBounds() que permite a você falar a posição exata de cada componente na tela. Mas eu não aconselho, e arrisco alguns virem me xingar por dar esta opção aqui hehehe.

Para criar telas manualmente, recomendo o MigLayout:

http://www.miglayout.com/

Para edição visual, aconselho o NetBeans (gratuito) e o JFormDesigner (pago).

Bom dia,

Agradeço a todos por ajudarem.
Desculpe a demora para responder, mas estava testando algumas formas de fazer funcionar.
Vou procurar a documentação sobre migLayout conforme aconselhado.
Mas o migLayout tem que instalar algum complemento para funcionar?
Utilizo o Eclipse.
Vi em outros tópicos algo com relação a isso, que tem que baixar e instalar um pacote, não sei ao certo se é isso mesmo.
De qualquer forma vou procurar saber sobre e posto aqui o resultado,

Obrigado,

Att

O MigLayout não exige a instalação de complementos, basta que você inclua o arquivo JAR dele no Build Path do seu projeto. Segue o endereço de download:

http://www.migcalendar.com/miglayout/versions/3.7.3.1/miglayout-3.7.3.1.jar

Há um guia de início rápido que você pode usar:

http://www.miglayout.com/QuickStart.pdf

Obrigado Roger,

Vou estudar sobre MigLayout.
Como o meu projeto é para a faculdade, vou utilizar uma solução que indicaram acima.
Antes não tinha conseguido porque estava tentando colocar os componentes dentro de um JPanel e depois jogá-lo pro frame.
Não sei porque não estava conseguindo fazer funcionar.
Mas agora coloquei apenas dessa forma:

gbc.gridy = 1; // linha
gbc.gridx = 0; // coluna 
add(lblNome,gbc);

Modificando a linha e coluna deu certo agora. Não estou mais jogando em um JPanel. Não sei se é o correto, mas como disse é um trabalho de faculdade e como medida provisória farei dessa forma. Tentarei fazer o projeto de novo quando estiver melhor familiarizado com o MigLayout,

Obrigado a todos,

Att