bom gente… to com o seguinte problema eu tenhu um JDialog e quero adicionar alguns componentes nele… Por exemplo dois JList e alguns otros componentes…
estou usando o seguinte codigo…
private void dialogFormatar() {
JPanel painel = new JPanel();
JList listaFonte = new JList();
JScrollPane jscpFonte = new JScrollPane(listaFonte);
jscpFonte.setLocation(10,10);
jscpFonte.setsize(20,40);
painel.add(jscpFonte);
JDialog dialog = new JDialog();
dialog.setTitle("Formatar...");
dialog.setSize(400,400);
dialog.setLocation(300,300);
dialog.setModal(false);
//dialog.pack();
dialog.add(painel);
dialog.setVisible(true);
}
posso alterar o metodo setSize mas ele não muda de tamanho… o que posso fazer??
O método que indiquei funciona mesmo que o JDialog seja redimensionado. Aliás, é a grande vantagem de usar LayoutManagers, no lugar de setar tamanhos fixos.
Lembre-se também que setar tamanhos no braço evita que você possa usar a aplicação em outras plataformas.
Poderá ocorrer erros de formatação na troca de S.O.
Por exemplo, você está desenvolvendo no Windows e utiliza um Layout null. Ao rodar a sua aplicação em Linux, as margens e localização dos componentes iram ser diferentes… Até mesmo no próprio Windows, com resoluções diferentes de tela.
Null Layout não garante portabilidade da sua GUI, ou seja, não é uma boa idéia utiliza-lo.
a tah entendi… u duro é que ainda não aprendi direito a mexer com layouts… acho q ele ficam “feios”… mas nesse caso teria como eu setar o tamanho do componente usando algum layout???
alguem me indica algum livro ou alguma coisa sobre layouts??
Tem bastante material sobre os layout managers no link que eu passei ali em cima.
Agora, a alteração vale a pena. Embora dê um pouco mais de trabalho posicionar os componentes, pense que sua janela vai se tornar redimensionável automaticamente. Se você pensar na lógica necessária para redimensionar uma janela, vai ver que, no final, você teve é muito menos trabalho.