2013-06-18 3 views
1

У меня есть задача по имени timer:TimerTask работает только один раз

timer.schedule(new task1(), 1000*minutes); 

Задача:

class task1 extends TimerTask { 
     @Override 

    public void run() 
    { 
      try { 
       task(); 
      } catch (SAXException ex) { 
       Logger.getLogger(task1.class.getName()).log(Level.SEVERE, null, ex); 
      } catch (ParserConfigurationException ex) { 
       Logger.getLogger(task1.class.getName()).log(Level.SEVERE, null, ex); 
      } catch (IOException ex) { 
       Logger.getLogger(task1.class.getName()).log(Level.SEVERE, null, ex); 
      } catch (URISyntaxException ex) { 
       Logger.getLogger(task1.class.getName()).log(Level.SEVERE, null, ex); 
      } catch (InterruptedException ex) { 
       Logger.getLogger(task1.class.getName()).log(Level.SEVERE, null, ex); 
      } 
    } 
    public void task() throws SAXException, ParserConfigurationException, IOException, URISyntaxException, InterruptedException { 
     Pinner_xml t = new Pinner_xml(); 
     t.xml(frame.t1.getText()); 

     frame.output.append("task 1 \n"); 
     System.out.println("task 1 is running"); 
    } 
} 

frame мое имя фрейма и output это текстовое поле. Почему я запускаю задачу, все «задача 1 работает» в диалоговом окне вывода в Netbeans, и задача запускается только один раз.

ответ

5

Для повторного выполнения задачи используйте Timer.schedule(TimerTask task, long delay, long period) или scheduleAtFixedRate методы

3

Читайте документацию о Timer Существует еще один переопределяется метод повторного выполнения задачи, вы используете метод, который выполняется только один раз Вы можете использовать

scheduleAtFixedRate (TimerTask задача, длительная задержка, длительный период)

или

расписание (задача TimerTask, долгая задержка, длительный период)

Смежные вопросы