首页 > 解决方案 > 如何在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() {
}

标签: java

解决方案


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

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

此外,这是同一问题的一个很好的答案: https ://stackoverflow.com/a/12908477/10713658


推荐阅读