【发布时间】:2012-08-27 22:47:26
【问题描述】:
我的班级是这样的。
import java.awt.*;
import javax.swing.*;
public class Painter extends JPanel {
int x=200;
int y=200;
int newX;
int newY;
Painter(){
setPreferredSize(new Dimension(400,400));
}
public void moveSquare(int newX, int newY){
if(newY != y|| newX != x){
repaint(x,y, 10, 10);
y = newY;
x = newX;
repaint(x,y, 10, 10);
}
}
public void paintComponent(Graphics g){
super.paintComponent(g);
g.setColor(Color.BLACK);
g.fillRect(x, y, 10, 10);
}
}
方法是从另一个类调用的。 x 和 y 的值确实改变了它们应该的方式。然而,方块并没有移动。我在这里做错了吗?
编辑是的,我叫“超级”。我只是在这里复制和编辑代码时不小心删除了它。现在重新编辑它。
【问题讨论】:
-
您在正确的网站上。那是肯定的。
-
尝试只打电话给
repaint():-) -
也许你应该使用
Canvas,无论如何。
标签: java swing graphics repaint paintcomponent