Continuar codigo após fechar jframe

3 respostas
W

Pessoal,

To usando JOptionPane no tratamento de exceções e tal, mas queria personalizar a mensagem da exceção e tal fazendo uma janela de exceção usando JFrame.
Com o JOptionPane, se eu coloco um gui.dispose(); depois da exibição ele só fecha a gui após fechar a janelinha do JOptionPane. Com o JFrame não da certo pq, ao criar a janela, já é executado em seguida o gui.dispose(), sem esperar o fechamento da janela igual o JOptionPane como eu queria!
Alguém sabe me dizer como faço isso?!

Att,

3 Respostas

brenowbc

se for o caso, coloca um botão para só fechar quando clicar nele com um listener de ouvinte, é uma saída rápida que eu vejo.

se quiser colocar, por exemplo, com tempo ae vai ter que pesquisar como dar um wait, coisa que pesquisando um pouco você encontra.

um abraço.

Nicolas_Fernandes

Que tal:

public InterfaceFrame extends JFrame {

   public InterfaceFrame() {

       JButton button = new JButton("Do something");
       button.addActionListener( new ActionListener() {
           public void actionPerformed(ActionEvent event) {

               try {

                   // Faz qualquer coisa...
               }
               catch (Exception err) {
               
                   // passa a mensagem de erro por construtor.
                   InterfaceErroPersonalizado interface = new InterfaceErroPersonalizado(err.getMessage());
                   interface.setVisible(true);

                   // Faz qualquer outra coisa aqui...
                   this.dispose();
               }
           }
       });
   }
}

e…

public class InterfaceErroPersonalizado extends JFrame {

    private String mensagemErro;
    public InterfaceErroPersonalizado(String mensagemErro) {

        this.mensagemErro = mensagemErro;
        JLabel labelErro = new JLabel(mensagemErro);

         //alinha no centro, adiciona no form, adiciona um botão de OK e o que mais quiser.
    }
}
ViniGodoy

No lugar de um JFrame:

  1. Use um JDialog;
  2. Defina a propriedade modal como true:

Isso fazer com que o método setVisible() do JDialog pare e espere a janela ser fechada. Ele também impedirá que o usuário navegue para outras janelas enquanto o dialog estiver sendo exibido.

Criado 21 de julho de 2011
Ultima resposta 22 de jul. de 2011
Respostas 3
Participantes 4