Skip to content
Advertisement

Java Timer

I’m trying to use a timer to schedule a recurring event in an application. However, I want to be able to adjust the period at which the event fires in real time (according to the users input).

For example:

JavaScript

I then start a new instance of this class and call its set period function. However, when I do that, I get an Illegal state exception. You can see the System.out.println(timer); in there because I’m checking, and yep sure enough, they are two different timers… so why am I getting an IllegalStateException when I try to run a schedule call on a brand new Timer instance!?!?!?!

JavaScript

Advertisement

Answer

You can’t reuse a TimerTask as you’re doing here.

Relevant porition of Timer:

JavaScript

You’ll need to refactor your code so that you create a new TimerTask, rather than re-using one.

User contributions licensed under: CC BY-SA
9 People found this is helpful
Advertisement