Coloque o “setVisible(true);” após ter adicionado tudo ao JFrame.
Recomendo que faça a “montagem” da tela em um método separado, e de um outro chame este método e após o setVisible(true);
Testei aqui e realmente o problema é a ordem de execução do “setVisible(true)” do JDialog.
Deixe o método t_01 assim:
[code] public void t_01() {
tela_01 emitirCert = new tela_01();
emitirCert.setTitle(“Digitar dados”);
emitirCert.setSize(550,350);
emitirCert.setResizable(false);
emitirCert.setModal(true);
emitirCert.getContentPane().setLayout(null);
lbl_pessoa = new JLabel("Nome participante:");
lbl_pessoa.setBounds(10,70,70,20);
emitirCert.getContentPane().add(lbl_pessoa);
lbl_palestra = new JLabel("Nome palestra:");
lbl_palestra.setBounds(40,70,70,20);
emitirCert.getContentPane().add(lbl_palestra);
txt_pessoa = new JTextField("");
txt_pessoa.setBounds(10,160,70,20);
emitirCert.getContentPane().add(txt_pessoa);
txt_palestra = new JTextField("");
txt_palestra.setBounds(40,160,70,20);
emitirCert.getContentPane().add(txt_palestra);
bt_visualiza = new JButton("Visualizar");
bt_visualiza.setBounds(250,330,140,20);
bt_visualiza.setEnabled(false);
bt_cancela = new JButton("Visualizar");
bt_cancela.setBounds(250,330,140,20);
bt_cancela.setEnabled(false);
emitirCert.alignCenter();
emitirCert.setVisible(true);
}[/code]
Note que o “setVisible(true)” deve ser executado após todos os componentes já estarem no container senão eles não aparecem.
Se por um acaso você for adicionar outros componentes posteriormente, terá que atualizar a tela para que aparecem, entendeu a lógica?
Se me permite dar alguns “palpites”:
Crie um método separado para colocar os componentes no seu container.
Chame este método dentro de um construtor da sua classe.
Após este método execute o setVisible(true) e seu método de centralizar.
Com o uso do construtor você evita que na sua outra janela tenha que chamar o método para desenhar a tela, apenas precisa instanciá-la.
Você não precisa dar setVisible em todos os componentes, só na janela mesmo.
Para centralizar uma janela, o método: “emitirCert.setLocationRelativeTo(null)” é mais simples.
Eu sei que isso é muito particular, mas em alguns pontos o nome de seus objetos e métodos não parecem muito intuitivos… tente seguir o padrão, por exemplo: “TelaPrincipal”
Não gosto do NullLayout, mas isso é gosto próprio rs
Muito obrigado mariofcc e raci0nal. Com a juda de vocês eu consegui resolver o problema qe estava me atrapalhando. Mutio obrigado pela ajuda prestada até o momento.