不是说"在class pet中调用 repaint()会使先前的画的圆不见了,而在class man中调用
repaint()却又能保留那些先前画的圆",这个主要是super.super.paintComponent(g);的问题;
public void paintComponent(Graphics g)
{
//super.paintComponent(g);
g.fillOval(x1,y1,50,50);
}
如果去掉注释,你就会发现不会全部重画了,而且先前的圆还在;
所以可以这样理解:调用super后,会更新JPanel的父组件,那么就会清除旧的信息,
画上新的信息,就只剩下新画的了;如果没有调用super就只有在原先的基础上继续添加了;
我也不知道这样的理解对不?!!~~~~~
repaint()却又能保留那些先前画的圆",这个主要是super.super.paintComponent(g);的问题;
public void paintComponent(Graphics g)
{
//super.paintComponent(g);
g.fillOval(x1,y1,50,50);
}
如果去掉注释,你就会发现不会全部重画了,而且先前的圆还在;
所以可以这样理解:调用super后,会更新JPanel的父组件,那么就会清除旧的信息,
画上新的信息,就只剩下新画的了;如果没有调用super就只有在原先的基础上继续添加了;
我也不知道这样的理解对不?!!~~~~~
头可断,发型不可乱;血可流,皮鞋不可不擦油;