为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Java 中创建一个 1 秒的计时器?

如何在 Java 中创建一个 1 秒的计时器?

互换的青春 2022-12-21 10:56:46
我需要使图像在屏幕上弹跳。我试图通过将图像向上移动 5 个单位,然后休息一秒钟,然后再向上移动 5 个单位,等等来做到这一点。我试图向上移动 5 次,然后向下移动 5 次,休息一秒钟在每个班次之间。我需要帮助将计时器设置为一秒钟,这样它就像每个班次之间的休息时间一样。我需要编写 time() 方法。public void moveIt(KeyEvent evt) throws InterruptedException {    switch (evt.getKeyCode()) {    case KeyEvent.VK_DOWN:        myY += 0;        break;    case KeyEvent.VK_UP:        for (int i = 1; i <= 10; i++) {            if (i <= 5) {                bounceUp();            } else {                bounceDown();            }            time();        }        break;    case KeyEvent.VK_LEFT:        myX -= 5;        break;    case KeyEvent.VK_RIGHT:        myX += 5;        break;    }    repaint();}Timer timer = new Timer();public void bounceUp() throws InterruptedException {    myY -= 10;}public void bounceDown() throws InterruptedException {    myY += 10;}public void time() {}
查看完整描述

3 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

欢迎来到 SO!尝试在 Timer 中使用时间表,如下所示:

Timer timer = new Timer();
timer.schedule(new YourClass(), 0, 1000);


查看完整回答
反对 回复 2022-12-21
?
冉冉说

TA贡献1877条经验 获得超1个赞

TimerTask task = new TimerTask()

{

   @Override

            public void run()

            {

                time();//executed each second

            }

}

timer.schedule(TimerTask task,1000,1000)

那应该有帮助


查看完整回答
反对 回复 2022-12-21
?
慕码人8056858

TA贡献1803条经验 获得超6个赞

试试这个:


try{


   Thread.sleep(1000);


}catch(InterruptedException e) {


}


查看完整回答
反对 回复 2022-12-21
  • 3 回答
  • 0 关注
  • 156 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信