我将 JPanel 子类化以使用计时器显示动画图像。这是计时器的任务。
private class AnimationTimerTask extends TimerTask {
@Override
public void run() {
// Change the current image
repaint();
}
}
此外,我重写了paintComponent 方法来绘制当前图像。
我使用这个类来创建一个对象作为背景,上面有一个标签。我使用“setComponentZOrder”方法来确保标签在背景上。
起初,标签显示正常。但是在背景图片改变后被背景覆盖了,这意味着调用了repaint方法。
我猜这个问题是由背景对象的重绘引起的。
我将 repaint() 替换为 getParent.repaint(),问题就解决了。但我认为这不是正确的方法。