比如我想做一個小動畫,讓球在移動。用paint和線程,不斷重畫,然後我發現用Frame可以成功實現。但是用JFrame卻會出現出現新的球,原來的球還在,即可以看到幾個球。。這是為什麼
public void paint(Graphics g) {
Color c=g.getColor();
g.setColor(new Color(122,122,123));
g.fillOval(x, y, 50, 50);
g.setColor(c);
y+=50;
}
改成
public void paint(Graphics g) {
super.paint(g);//frame會隱藏清屏,jframe不會清除上一幀動作。
Color c=g.getColor();
g.setColor(new Color(122,122,123));
g.fillOval(x, y, 50, 50);
g.setColor(c);
y+=50;
}