为静态图像上的移动矩形设置动画 Java SWT

Animate a moving rect over a static image Java SWT

我正在尝试通过在静态图像上设置移动对象的动画来学习 Java。我的图像绘制在 Canvas 中,所有内容都绘制在

   canvas.addPaintListener(new PaintListener() {
            public void paintControl(PaintEvent e){
       //Do Stuff
}

我卡在如何调用定时器来绘制我的 "moving rect" 对象。我是否将它放在 "moving rect" class 中?

您可以使用 DisplaytimerExec 方法在延迟后安排 Runnable 到 运行。 Runnable可以重绘控件。

例如:

canvas.getDisplay().timerExec(100, () -> canvas.redraw());

将在延迟 100 毫秒后调用 redraw 方法(代码对 Runnable 使用 Java 8 lambda)。您可以在 paintControl 方法的末尾调用它。