É o seguinte eu tenho um Jframe principal e um JDialog para incluir alguns dados, e o mesmo JDialog para alterar os dados já cadastrados o problema
é que quando eu chamo o JDialog para alterar os dados ele não puxa os dados nos JTextField, eu uso uma tabela para pegar os dados.
[RESOLVIDO] JDialog não carrega dados nos JTextField
5 Respostas
Posta seu código aí!
Meu botão alterar
IncluirContato IncluirContato = null;
try {
if (contatoSelecionado == null) {
JOptionPane.showMessageDialog(this, "Nenhum contato selecionado");
} else {
IncluirContato = new IncluirContato(this, true);
IncluirContato.setModal(true);
IncluirContato.setVisible(true);
IncluirContato.txtNome.setText(contatoSelecionado.getNome());
IncluirContato.txtEmpresa.setText(contatoSelecionado.getEmpresa());
IncluirContato.txtFone1.setText(contatoSelecionado.getFone1());
IncluirContato.txtFone2.setText(contatoSelecionado.getFone2());
IncluirContato.txtFone3.setText(contatoSelecionado.getFone3());
IncluirContato.txtEmail.setText(contatoSelecionado.getEmail());
}
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Nenhum contato selecionado");
}
Tenta colocar o setVisible depois que o JFrame estiver totalmente pronto, já vi muitos pequenos bugs por conta do setVisible antes de tudo.
IncluirContato = new IncluirContato(this, true);
IncluirContato.setModal(true);
IncluirContato.txtNome.setText(contatoSelecionado.getNome());
IncluirContato.txtEmpresa.setText(contatoSelecionado.getEmpresa());
IncluirContato.txtFone1.setText(contatoSelecionado.getFone1());
IncluirContato.txtFone2.setText(contatoSelecionado.getFone2());
IncluirContato.txtFone3.setText(contatoSelecionado.getFone3());
IncluirContato.txtEmail.setText(contatoSelecionado.getEmail());
IncluirContato.setVisible(true);
No caso do JDialogs modais, o que ocorre é que o setVisible(true) irá parar seu código até que o JDialog feche. Portanto, os comandos seguintes não serão executados e o dialog não será preenchido.
Esse é outro motivo para, por exemplo, abolir o uso de setVisible no construtor. A solução é só usar o que o colega falou: deixar o setVisible por último.
PS: Movi seu tópico para o fórum de interface gráfica. Dúvidas de Swing não pertencem ao fórum de Java Avançado.
Obrigado gente deu certo
Criado 10 de janeiro de 2013
Ultima resposta 11 de jan. de 2013
Respostas 5
Participantes 3