java重新绘制框架将删除以前绘制的形状
我目前正在使用Java进行绘制,在删除以前绘制的形状时遇到了一个问题。以下是我的问题的一个例子:
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.setColor(Color.LIGHT_GRAY);
click.paintPiece(g);
}
public void paintPiece(Graphics g) {
int x = (getMouseX())*70 + 10;
int y = mover.getRow()*70 + 10;
g.fillOval(x, y, 50, 50);
}
每次单击鼠标时,都会在paintComponent()方法中调用paintPiece()方法。我在这里遇到的问题是,在创建新的椭圆时,先前绘制的椭圆将被擦除。还需要注意的是,每次单击鼠标时,我都会重新绘制窗口。如何在不删除先前绘制的椭圆的情况下绘制新的椭圆
# 1 楼答案
ArrayList<Ellipse2D>
并在鼠标点击时用一个新项目填充它。在paintComponent(...)
方法中,遍历列表,绘制每个形状李>getGraphics()
获得的图形对象,在BuffereImage上绘制椭圆,然后在paintComponent方法中绘制该BuffereImage。使用完BI的图形对象后,别忘了处理它李>