我有一个关于java.util.timer的问题。
我有一个小应用程序,它确实使用计时器来触发警报。
计时器是从Buttonlistener设置的:
if (timer1) {
t1 = new Timer();
t1.schedule(new AlarmTask(),(n_timer1.getInt()*60000),(n_timer1.getInt()*60000)+(n_delay1.getInt()*1000));
ti1 = n_timer1.getInt()*60;
bt_timer1.setText("Stop");
timer1 = false;
}
else {
t1.cancel();
timer1 = true;
bt_timer1.setText("Start");
}
它触发了AlarmTask():
class AlarmTask extends TimerTask
{
@Override public void run()
{
try {
File yourFile = new File("alarm.wav");
AudioInputStream stream;
AudioFormat format;
DataLine.Info info;
Clip clip;
stream = AudioSystem.getAudioInputStream(yourFile);
format = stream.getFormat();
info = new DataLine.Info(Clip.class, format);
clip = (Clip) AudioSystem.getLine(info);
clip.open(stream);
clip.start();
}
catch (Exception e) {
}
}
}
现在我得到了不同的动作,正在为这个班级启动计时器。 有没有办法将参数移交给AarmTask()? 或者你能想到一个没有添加多个AlarmTask()类的解决方法吗?
感谢您的帮助,
卡罗尔