Ajuda com alinhamento em JPanel, quabra de linha no formulário

Pessoal,

Eu montei minha primeira aplicação usando Swing com vários JFrames e implantes, mas logo depois procurei mais informações e o pessoal dizia que o ideal era usar um JFrame e ir trabalhando com JPanels…

Tudo bem, fiz uma versão 2 do projeto usando JPanel, mas não consigo alinhar os JLabels e JFields etc…

Eu so que quebrar a linha de uma questão do form par aoutra e não consigo.

Segue código fonte abaixo:

package br.com.lidd.mvc.swing;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.EventQueue;
import java.awt.FlowLayout;


import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.border.EmptyBorder;
import java.awt.SystemColor;
import java.awt.Font;
import javax.swing.SwingConstants;

public class JFrameCadastroEntrada extends JFrame {

	private JPanel painelCentral;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					JFrameCadastroEntrada frame = new JFrameCadastroEntrada();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public JFrameCadastroEntrada() {
		
		setBackground(SystemColor.activeCaptionBorder);
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 438, 335);
		
		// Monta o painel Principal da aplicação para armazenar os outros paineis
		painelCentral = new JPanel();
		painelCentral.setBackground(SystemColor.activeCaptionBorder);
		painelCentral.setBorder(new EmptyBorder(5, 5, 5, 5));
		painelCentral.setLayout(new BorderLayout(0, 0));
		painelCentral.setAlignmentX(FlowLayout.LEFT);
		setContentPane(painelCentral);
		
		// Monta o painel do Topo da aplicação
		JPanel painelTopo = new JPanel(new FlowLayout(FlowLayout.CENTER)); 
		painelTopo.setBorder(BorderFactory.createLineBorder(Color.black));
		painelTopo.setBackground(SystemColor.activeCaptionBorder);
		painelCentral.add(painelTopo, BorderLayout.NORTH);
		
        
		// Monta o painel Central da aplicação
		JPanel painelCentro = new JPanel(new FlowLayout(FlowLayout.LEFT)); 
	    painelCentro.setBorder(BorderFactory.createLineBorder(Color.black));
		painelCentro.setBackground(SystemColor.activeCaptionBorder);
		painelCentral.add(painelCentro, BorderLayout.CENTER);
		
		// Monta o painel Rodape da aplicação
		JPanel painelRodape = new JPanel(new FlowLayout(FlowLayout.LEFT)); 
		painelRodape.setBorder(BorderFactory.createLineBorder(Color.black));
		painelRodape.setBackground(SystemColor.activeCaptionBorder);
		painelCentral.add(painelRodape, BorderLayout.SOUTH);
		
		// Label do titulo do topo da aplicação
		JLabel tituloTopoLabel = new JLabel("Controle de Entrada");
		tituloTopoLabel.setFont(new Font("Tahoma", Font.BOLD, 18));
		painelTopo.add(tituloTopoLabel);
		
		// Label da primeira questão da aplicação
		JLabel questaoUmLabel = new JLabel("A pessoa esta:");
		questaoUmLabel.setFont(new Font("Tahoma", Font.PLAIN, 14));
		painelCentro.add(questaoUmLabel);
		
		// Monta radiogroup primeira questão
		ButtonGroup questaoUmButtonGroup = new ButtonGroup();
        
		// Monta RadioButton de entrada da primeira questão
	    JRadioButton entradaRadioButton = new JRadioButton("Entrada");
	    entradaRadioButton.setBackground(SystemColor.activeCaptionBorder);
	    questaoUmButtonGroup.add(entradaRadioButton);
	    
	    // Monta RadioButton de saida da primeira questão
	    JRadioButton saidaRadioButton = new JRadioButton("Saida");
	    saidaRadioButton.setBackground(SystemColor.activeCaptionBorder);
	    questaoUmButtonGroup.add(saidaRadioButton);
	    
	    // Adicona RadioButtons ao painel central
	    painelCentro.add(entradaRadioButton);
	    painelCentro.add(saidaRadioButton);
	    
		// Label da primeira questão da aplicação
		JLabel questaoDoisLabel = new JLabel("A pessoa é um:");
		questaoDoisLabel.setVerticalAlignment(SwingConstants.BOTTOM);
		questaoDoisLabel.setFont(new Font("Tahoma", Font.PLAIN, 14));
		painelCentro.add(questaoDoisLabel);
	    
		
	}

}

Quero quebrar a linha depois dos RadioButtons…

obrigado

Lembrando que da primeira vez que fiz os vários JFrames, usei o Netbeans… ele ger aum código automatico…

Dai tambem aproveitando, estou fazendo meu código do 0 no eclipse com o Windows Builder, ou qualquer outro add-on de Swing, direto no fonte… so visualizando pelo Windows Builder

Segue exemplo em anexo

Eu fui no site da Oracle e ve que existem vários tipos de “organização” de espaço, a maior parte feita pelo esquema de Grid, linhas e colunas, mas eu queria algo mais flexivel.