大家好,我怎样才能在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();
答案 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) {...}
}
希望它有所帮助。