Java.util.timer - 带有不同参数(run())或变通方法的@Override

时间:2016-01-28 20:11:51

标签: java timer override timertask

我有一个关于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()类的解决方法吗?

感谢您的帮助,

卡罗尔

0 个答案:

没有答案