Java 如何使用Swing定时器来确定总体更新率?

Java 如何使用Swing定时器来确定总体更新率?,java,multithreading,oracle,swing,timer,Java,Multithreading,Oracle,Swing,Timer,换句话说,我希望能够在一定的赫兹水平上运行我的程序。这是我另一个问题的部分延伸 首先,我在上读了一些oracle的Java文档,但是有没有一种更简单的方法,让我只需要,而不是调用wait()将当前线程暂停一段时间,然后破坏我基于Swing的乒乓球游戏,就可以这样做 @悬停艇充满鳗鱼的状态 “与其使用while(true)循环来阻止EDT,不如改用Swing定时器。” 然而,我从来没有和摇摆计时器一起工作过,也没有听说过他们,也没有听说过我的导师教过我。我能举个例子说明我应该如何使用和实现这些摆动

换句话说,我希望能够在一定的赫兹水平上运行我的程序。这是我另一个问题的部分延伸

首先,我在上读了一些oracle的Java文档,但是有没有一种更简单的方法,让我只需要,而不是调用
wait()
将当前线程暂停一段时间,然后破坏我基于Swing的乒乓球游戏,就可以这样做

@悬停艇充满鳗鱼的状态

“与其使用while(true)循环来阻止EDT,不如改用Swing定时器。”

然而,我从来没有和摇摆计时器一起工作过,也没有听说过他们,也没有听说过我的导师教过我。我能举个例子说明我应该如何使用和实现这些摆动计时器吗

编辑: 我发现关于如何使用Swing定时器的解释相当混乱。这就是为什么我需要stackoverflow的帮助

作为旁注:

有没有办法让图像一次移动一个像素,然后使用摆动计时器使图像移动一个像素的速度或速率以这种方式更快或更慢,从而使图像平滑移动?这就是我想要创造的效果。否则,如果图像跳过像素,即使在高帧速率下,您也会看到图像在每次移动时都像5个像素一样跳跃

我能举个例子说明我应该如何使用和实现这些摆动计时器吗

阅读更多关于

以下是示例代码:

int delay = 1000; //milliseconds
ActionListener taskPerformer = new ActionListener() {
  public void actionPerformed(ActionEvent evt) {
      //...Perform a task...
  }
};
new Timer(delay, taskPerformer).start();
找到一个


有没有一种方法可以让图像一次移动一个像素,从而使图像平滑移动

示例代码:(以200毫秒的间隔从左到右水平移动图像1px)

我能举个例子说明我应该如何使用和实现这些摆动计时器吗

阅读更多关于

以下是示例代码:

int delay = 1000; //milliseconds
ActionListener taskPerformer = new ActionListener() {
  public void actionPerformed(ActionEvent evt) {
      //...Perform a task...
  }
};
new Timer(delay, taskPerformer).start();
找到一个


有没有一种方法可以让图像一次移动一个像素,从而使图像平滑移动

示例代码:(以200毫秒的间隔从左到右水平移动图像1px)

我能举个例子说明我应该如何使用和实现这些摆动计时器吗

阅读更多关于

以下是示例代码:

int delay = 1000; //milliseconds
ActionListener taskPerformer = new ActionListener() {
  public void actionPerformed(ActionEvent evt) {
      //...Perform a task...
  }
};
new Timer(delay, taskPerformer).start();
找到一个


有没有一种方法可以让图像一次移动一个像素,从而使图像平滑移动

示例代码:(以200毫秒的间隔从左到右水平移动图像1px)

我能举个例子说明我应该如何使用和实现这些摆动计时器吗

阅读更多关于

以下是示例代码:

int delay = 1000; //milliseconds
ActionListener taskPerformer = new ActionListener() {
  public void actionPerformed(ActionEvent evt) {
      //...Perform a task...
  }
};
new Timer(delay, taskPerformer).start();
找到一个


有没有一种方法可以让图像一次移动一个像素,从而使图像平滑移动

示例代码:(以200毫秒的间隔从左到右水平移动图像1px)