在窗口最小化、改变窗口的位置、大小等操作时 我们会发现原先已经画好的图不见了
这到底是为什么呢?
简单点说是因为在对窗口进行这些操作时,窗口重新绘制了一遍,而由于我们没有重写JFrame里的paint()方法,所以调用的是父类的方法。
public void paint(Graphics g) {
//调用父类的方法
super.paint(g);
//list里存放每个图形的对象
for (int i = 0; i < list.size(); i++) {
Shape s = list.get(i);
s.draw(g);
}
}
这里的list里存放的是 你的每个图形
public class Shape implements {
/**
*
*/
public int x1, y1, x2, y2;
public Color color=Color.black;
public String type;
public ImageIcon icon;
public Shape(int x1, int y1, int x2, int y2, Color color, String type) {
this.x1 = x1;
this.y1 = y1;
this.x2 = x2;
this.y2 = y2;
this.color = color;
this.type = type;
}
public Shape(ImageIcon icon,int x1,int y1,int x2,int y2,String type)
{this.icon=icon;
this.x1 = x1;
this.y1 &#