【发布时间】:2014-02-21 03:32:42
【问题描述】:
我正在尝试移动 Graphics2D 绘制的矩形,但它不起作用。当我做 x += 1;它实际上将其移动了 1 个像素并停止。如果我说,x += 200;它不是在每次更新时都将其移动一次 200 像素,而是一次。
public void paint(Graphics g)
{
super.paint(g);
g.setColor(Color.WHITE);
g.fillRect(0, 0, this.getWidth(), this.getHeight());
g.setColor(Color.RED);
g.fillRect(x, 350, 50, 50);
x += 1;
}
int x 在 void paint 之外被调用,以确保它不会每次都增加为 150。 画得很好,只是不动,我尝试使用线程并使用 while 循环,所以当线程运行时,它会移动,但没有运气。
【问题讨论】:
-
为我们发布更多代码
-
如何触发
repaint()? -
神圣!谢谢我只是忘了这样做。repaint();可能是 Java 历史上最严重的错误。
-
x 在哪里创建?您的代码示例不完整。