Label thread paralelo não aparece

2 respostas
W

Olá pessoal!

Estou com um pequeno programa para exibir uma mensagem para o usuário aguardar uma determinada operação.

Tenho uma rotinha que executa em background e demora um pouco para ser executada. Queria exibir um dialog com uma mensagem de espera. Consigo exibir o formulário perfeitamente mais o label deste não aparece. Com excessão do label que não é exibido o resto está funcionando.

Alguém faz idéia do que seja?

2 Respostas

V

Oq costumo fazer é executar uma Thread do processo, entao tenho uma thread q seria o Form e outra para o processo.
Vou colocar um exemplo de um metodo executando um progressBar enquanto o processo executa.

/* metodo dentro da classe do form */
private void executarProcesso() {
  new Thread() {

       public void run() {
          try {
               jProgressBar1.setIndeterminate(true);//progressBar que esta no form
               //codigo a ser executado
          } finally {
              jProgressBar1.setIndeterminate(false);
          }
      }

   }.start();
}
W

Fala amigo,

Valeu pela dica.

Acabei resolvendo da seguinte forma:

1º) Tenho um form principal JFrame e este form java a operação que eu quero executar.
2º) A classe que quero executar implementa a interface Runnable e no método run() faço a chamada ao dialog onde é exibida a mensagem de aguarde.

Ficou mais ou menos assim.

public class Operacao implements Runnable{
    // Serie de operacoes

    public void run(){
        FrmMessage frm = new FrmMessage(null, false);
        frm.setVisible(true);

        // Chama as operacoes

        frm.setVisible(false);
        frm.dispose();
    }
}

Abraço.

Criado 31 de dezembro de 2009
Ultima resposta 31 de dez. de 2009
Respostas 2
Participantes 2