[RESOLVIDO] JDialog não carrega dados nos JTextField

5 respostas
diegodanossa

É 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.

5 Respostas

Jhonny_Oliveira

Posta seu código aí!

diegodanossa

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");
        }
Jhonny_Oliveira

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);
ViniGodoy

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.

diegodanossa

Obrigado gente deu certo

Criado 10 de janeiro de 2013
Ultima resposta 11 de jan. de 2013
Respostas 5
Participantes 3