таймер свинга Java не сработает - PullRequest
0 голосов
/ 05 мая 2011

Я не могу заставить этот таймер сработать. программа компилируется, и, насколько я понимаю, она должна пинговать каждые 1000 мс или 1 секунду и выполнять строки в функции actionPerformed {}.

public void stringGeneration(String args[]){

        ActionListener taskPerformer = new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                String fullIstring = java.lang.String.valueOf(injectString[0] + injectString[1] + injectString[2] + injectString[3] + injectString[4]);
                jLabel3.setText(fullIstring);
                System.out.println("output");
            }
        };
        Timer timer = new Timer(1000, taskPerformer);
        timer.setRepeats(true);
        timer.start();

        //Thread.sleep(500);
        }

Ответы [ 2 ]

0 голосов
/ 05 мая 2011

Я просто дал вам пример, а не что-то копировать вставить.Но вы можете попробовать это, если вы хотите попробовать как есть.В вашем случае приведенный выше пример должен выглядеть следующим образом:

class HeartBeatTask extends TimerTask {

        private int timerInterval;

        public HeartBeatTask(int timeInterval)
        {
            this.timerInterval = timeInterval;
        }

        public void run() 
        {
            String fullIstring = java.lang.String.valueOf(injectString[0] + injectString[1] + injectString[2] + injectString[3] + injectString[4]);
                        jLabel3.setText(fullIstring);
                        System.out.println("output");

        }

      }

Ваш метод будет вызывать указанный выше класс следующим образом:

public void stringGeneration(String args[]){
     HeartBeatTask tt = new HeartBeatTask();
                t1.schedule(tt, 0, 1000 * 60 * 2);

            }
0 голосов
/ 05 мая 2011

Вот как я могу выполнить запланированное задание в java:

import java.util.TimerTask;

Класс HeartBeatTask расширяет TimerTask {

private int timerInterval;

public HeartBeatTask(int timeInterval)
{
    this.timerInterval = timeInterval;
}

public void run() 
{
    // Your  function call to schedule here

}
public static void main(String[] args)
    {
        java.util.Timer t1 = new java.util.Timer();

        HeartBeatTask tt = new HeartBeatTask();
        t1.schedule(tt, 0, 1000 * 60 * 2);
        }

}

Надеюсь, чтопомогает

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...