Java.util.timer-@使用不同的参数(run())或变通方法重写
我有一个关于java.util.timer的问题 我有一个小应用程序,它使用定时器触发警报 通过按钮列表器设置计时器:Java.util.timer-@使用不同的参数(run())或变通方法重写,java,timer,overriding,timertask,Java,Timer,Overriding,Timertask,我有一个关于java.util.timer的问题 我有一个小应用程序,它使用定时器触发警报 通过按钮列表器设置计时器: 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;
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():
现在我有了不同的动作来启动这个类的计时器。
是否有方法将参数移交给AarmTask()?
或者,您能想出一种不添加多个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) {
}
}
}