[RESOLVIDO] JDialog não carrega dados nos JTextField

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

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