Redimencionar

E ai galera blz bom é o seguinte eu estou tentando posicionar tudo o que está dentro de Painelcentral que um Jpainel manualmente usuando setBounds e não estou coseguindo ele não sai do lugar alguem poderia me ajudar ?? segue o codigo.

public class InterfaceCadastro extends JFrame {

private JButton btncadastrar,btnbuscar,btnatualizar,btndeletar;

private JPanel painelbotoes,paineltitulo,painelcentral;

private JTextField txtnome,txtcpf,txtrg,txtidade,txtemail,txtmsn;
private JTextArea txtcomentario;
private JComboBox cbsexo;

private JLabel lblnome,lblcpf,lblrg,lblidade,lblemail,lblmsn,lblsexo;
private JLabel lblcomentario,lbltitulo;

public InterfaceCadastro(){
	
	btnatualizar = new JButton("Cadastrar");
	btnbuscar = new JButton("Buscar");
	btncadastrar = new JButton("Atualizar");
	btndeletar = new JButton("Deletar");
	
	txtnome = new JTextField(20);
	
	txtcomentario = new JTextArea(10,40);
	txtcpf = new JTextField(20);
	txtemail = new JTextField(20);
	txtidade = new JTextField(20);
	txtmsn = new JTextField(20);
	txtrg = new JTextField(20);
	cbsexo = new JComboBox(new String[]{"Masculino","Feminino"});
	
	lblcomentario = new JLabel("Comentario");
	lblcpf = new JLabel("CPF");
	lblemail = new JLabel("Email");
	lblidade = new JLabel("Idade");
	lblmsn = new JLabel("Msn");
	lblnome = new JLabel("Nome");
	lblrg = new JLabel("RG");
	lblsexo = new JLabel("Sexo");
	
	lbltitulo = new JLabel("Cadastro de Funcionarios");
	lbltitulo.setFont(new Font("tahoma",Font.BOLD,23));
	
	painelbotoes = new JPanel(new FlowLayout());
	paineltitulo = new JPanel(new FlowLayout());
	painelcentral = new JPanel();
}

public void TelaPrincipal(){
	
	//Adicionando componentes ao Painel
	painelbotoes.add(btnatualizar);
	painelbotoes.add(btnbuscar);
	painelbotoes.add(btncadastrar);
	painelbotoes.add(btndeletar);
	paineltitulo.add(lbltitulo);
	
	painelcentral.add(lblnome);
	painelcentral.add(txtnome);
	painelcentral.add(lblcpf);
	painelcentral.add(txtcpf);
	painelcentral.add(lblidade);
	painelcentral.add(txtidade);
	painelcentral.add(lblrg);
	painelcentral.add(txtrg);
	painelcentral.add(lblmsn);
	painelcentral.add(txtmsn);
	painelcentral.add(lblemail);
	painelcentral.add(txtemail);
	painelcentral.add(lblsexo);
	painelcentral.add(cbsexo);
	painelcentral.add(lblcomentario);
	painelcentral.add(txtcomentario);
	
	
	
	//Adicionando os paineis ao frame
	add(paineltitulo,BorderLayout.NORTH);
	add(painelbotoes,BorderLayout.SOUTH);
	add(painelcentral,BorderLayout.CENTER);
	
	//Configuraçõs da Janela
	setLocation(200, 120);
	setSize(600,500);
	setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	setVisible(true);

}

}

Dê uma lida em layout manager no tutorial Java da Sun

Não sei se por preguiça de aprender, mas a maior parte dos tópicos de interface gráfica do GUJ comete os seguintes erros:

  1. Usam null layout e setBounds. Amigo, se você acha que está tendo problemas, experimente ajeitar o seu código de depois roda-lo no Linux. Os problemas reaparecerão. Por isso, aprenda realmente como funcionam os layout managers, em especial: BorderLayout, GridBagLayout e FlowLayout. Use soluções de terceiros como o MigLayout. Ou baixe o netbeans e deixe que ele use um layout manager para você.

  2. Usam DefaultMutableTreeNode, DefaultTableModel, DefaultListModel e DefaultComboboxModel. Os dois últimos não tem tanto problema… mas os dois primeiros, podem transformar sua vida num inferno. Se você está usando um deles, crie vergonha na cara, e aprenda o jeito correto de fazer. Existem dezenas de tutoriais na net que explicam como funciona um TreeModel e um TableModel, e existem mais soluções ainda já prontas, que facilitam ainda mais a vida. O fato é que os models default duplicam dados, complicam o código, não respeitam o MVC.