如何在java中创建非对称运动滑块

时间:2016-04-14 11:20:31

标签: java multithreading

大家好,我怎样才能在java中创建一个非对称运动滑块?我可以使用线程吗?

final Timer timer = new Timer(speed, null);
timer.addActionListener(new ActionListener() {

    @Override
    public void actionPerformed(ActionEvent e) {
        if (lim1 > progress) {
            speed = 20;
        } else if (lime2 > progress) {
            speed = 10;
        } else {
            speed = 5;
        }
        System.out.println(speed);
        progress++;
        setcircle();
        if (progress >= lim) {
            timer.stop();
        }

    }
});
timer.start();

1 个答案:

答案 0 :(得分:0)

我已经开发出类似这样的东西来模拟"简谐运动" (github repo)。为此,我使用了TimerTask()课程。您可以使用以下两种方法:

long delay = 0;
long interval = 1000;

Timer temporizer = new Timer();
TimerTask task = new TimerTask(){
    @Override
    public void run() {
        // update here you progress bar or another elements
    }
};

temporizer.schedule (task,delay,interval); //task will be excecuted each 1 second.

计划方法中的参数是:

  • TimerTask task object

  • long delay(第一次运行的延迟时间以毫秒为单位)

  • long interval(每次迭代任务的时间,以毫秒为单位)。

或简单的

while (true){
    // update here you progress bar or another elements
    try { 
        Thread.sleep(interval); 
    } catch (InterruptedException ex) {...}
}

希望它有所帮助。