Se eu por exemplo continuasse esse codigo e colocasse Data de nascimento, como faria pra ficar abaixo do nome
lnome.setPreferredSize(ldatanasc.getPreferredSize()); // isso ñ funciona
JFrame frame = new JFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setLayout(new FlowLayout());
frame.setSize(400, 300);
JPanel pnome = new JPanel(new FlowLayout(FlowLayout.LEADING));
frame.add(pnome);
JPanel ldatanasc = new JPanel(new FlowLayout(FlowLayout.LEADING));
frame.add(pdatanasc);// e assim por diante
JLabel lnome = new JLabel("Nome : ",JLabel.RIGHT);
pnome.add(lnome);
JTextField txnome = new JTextField(50);
pnome.add(txnome);
JButton jbutton = new JButton("Cadastrar");
pnome.add(jbutton);
frame.pack();
frame.setVisible(true);
frame.setFocusable(true);
}
}
Layout swing
2 Respostas
Ola!
FlowLayout se não me engano é um layout que centraliza os componentes na tela e quebra a linha se for necessário você não tem como forçar ele a quebrar de linha
recomendo que você use outro layout como o GridLayout ou o GridBadLayout que trabalhão dividindo o contêiner como se fosse uma tabela ou se você vai fazer algo que não tem telas redimensionáveis ou não se importe que os componentes fiquem no mesmo lugar sempre sem se adaptar a tela pode usar o layout como null e ate mesmo fazer combinações de layouts para dar o efeito esperado.
espero ter esclarecido sua duvida e até mais!
só acrescentando (e respondendo seu e-mail) não tenho como te ensinar a usar layout pois sei muito poco do mesmo mais posso deixar o link do tutorial onde aprendi tudo que sei de layouts
ai vai os links
http://www.guj.com.br/posts/downloadAttach/2188.java apostila que devo tudo que sei!
http://javafree.uol.com.br/artigo/5792/Tudo-sobre-o-GridBagLayout.html tutorial ensinando a usar GridBagLayout