Como pausar o main

7 respostas
L
public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new fmtGUI().setVisible(true);
            }
        });

//QUERO SEGURAR AQUI
        System.out.println(argumentos[0]);
        System.out.println(argumentos[1]);
    }
então pessoal, minha main chama a GUI e já termina.. sendo que eu queria que ela ficasse segurando pra receber alguns dados do que acontece na GUI... por exemplo, se eu roda do jeito que tá, o vetor argumentos não tá instanciado.. porque eu instancio conforme vai rodando a GUI, só que a main acaba antes... deu pra entende? quais seriam as soluções?

7 Respostas

joede.fadel

Você pode utilizar threads, de uma olhada neste tutorial http://www.ucb.br/prg/professores/giovanni/disciplinas/2005-2/pc/threads2.html ele explica de forma simples

L

aí eu teria que montar essa classe NewThread dentro da classe daGUI e receber um ‘done’ pra liberar ela?

Vini_Fernandes

Acho que voce quer algo como

Thread.sleep(2000);

O comando acima diz para a thread corrente para ficar em repouso durante o tempo indicado (em milisegundos). Como a thread corrente é sua thread main, entao ela permanecerá em estado de sleep por 2000 ms
Ate mais!

rmendes08

Isso tem cara de código do Netbeans. Eu acho que você será mais feliz se colocar tudo numa thread só.

L

o código é do netbeans… mas eu nao posso colocar tudo em uma thread só por causa do problema do começo do tópico… e não posso colocar o sleep, porque o usuário pode tanto demorar 2segundos como 20 minutos pra terminar de fazer o que ele quer fazer…

rmendes08

Vai ser muito mais fácil você fazer assim: quando o usuário terminar de fazer a tarefa, a janela dispara um evento. Você escreve o listener para o evento e imprime os argumentos no handler do evento.

L

acho que entendi o que você quis dizer… parece uma boa hipótese mesmo… vou ver aqui…

Criado 21 de fevereiro de 2009
Ultima resposta 22 de fev. de 2009
Respostas 7
Participantes 4