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

我需要使图像在屏幕上弹跳。我试图通过将图像向上移动 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() {

}


互换的青春
浏览 157回答 3
3回答

郎朗坤

欢迎来到 SO!尝试在 Timer 中使用时间表,如下所示:Timer&nbsp;timer&nbsp;=&nbsp;new&nbsp;Timer(); timer.schedule(new&nbsp;YourClass(),&nbsp;0,&nbsp;1000);

冉冉说

TimerTask task = new TimerTask(){&nbsp; &nbsp;@Override&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; public void run()&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; time();//executed each second&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }}timer.schedule(TimerTask task,1000,1000)那应该有帮助

慕码人8056858

试试这个:try{&nbsp; &nbsp;Thread.sleep(1000);}catch(InterruptedException e) {}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java