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?
Faça o schedule
novamente.
Vou dar uma estuda sobre, valeu.
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?
Quando você faz um schedule, você passa um objeto Runable como parâmetro, você pode fazer o schedule do mesmo objeto quantas vezes quiser.
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á.
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.