日期:2014-05-20  浏览次数:20632 次

我想使用这个绘图方法绘制一个移动的方块,但是图像会累积起来形成一大片
我想使用这个绘图方法绘制一个移动的方块,但是图像会累积起来形成一大片,请问如何解决?
    void draw(Graphics g, Color c) {
Graphics2D d2=(Graphics2D)g;
d2.setColor(c);
d2.translate(center[0], center[1]);
d2.rotate(3.1415926);
d2.fillRect(0, 0, 50, 50);
}

------解决方案--------------------
画板上的画一次,下次画之前清空面板
------解决方案--------------------
千万别用什么清除上一块方块之类的方法,不仅效率低,还可能闪屏,竟然是移动的方块,你总得给他一个线程把,这个线程每一次循环都调用一次你的Panel或者Frame里的repaint()方法就可以,这个是自动双缓冲并清屏。