Existe algum comando para o Timer retomar?

6 respostas Resolvido
java
B

Boa noite, estou tentando fazer um método usando o Timer no Netbeans, em um certo momento preciso que ele pare então usei o timer.cancel();, mas em outro momento especifico preciso que ele “retome”, como fazer ele retomar?

6 Respostas

S
Solucao aceita

Faça o schedule novamente.

B

Vou dar uma estuda sobre, valeu.

B

Então toda vida que eu der um cancel eu tenho que criar o run() de novo? Se eu precisar que ele pare diversas vezes vou ter que criar o schedule sempre?

S

Quando você faz um schedule, você passa um objeto Runable como parâmetro, você pode fazer o schedule do mesmo objeto quantas vezes quiser.

B

Desculpa, mas eu não entendi. No meu método eu não estendi o Runnable. O Rannable que você fala é o método run()? Achei que o Runnable era um thread e o Timer se diferenciava dela.

timer.scheduleAtFixedRate(new TimerTask() {
        @Override
        public void run() {
            if(!jTextField1.getText().equals("")){
                System.out.println(jTextField1.getText());
                timer.cancel();
            } else {
                System.out.println("Esperando...");
            }               
        }
    }, 0, 1000);

Meu método exemplo ficou assim se o Runnable está ai eu realmente não sei onde está.

S

Desculpe, falha minha, quis dizer o TimerTask, acabei falando Runnable pois ambos definem o método run().

Então, no seu exemplo você sempre cria um novo TimerTask, você poderia reaproveitar a mesma instância.

Criado 11 de novembro de 2018
Ultima resposta 12 de nov. de 2018
Respostas 6
Participantes 2