repaint()方法是重绘,而validate()是重载,一般来说,从一个容器中删除某个组件需要调用repaint(),而把某个组件添加到某一容器中,则需调用validate()。举个例子:
有两个JPanel分别为p1和p2,要把p2添加到p1里面,则需这样写:
p1.add(p2);
p1.validate();
要从p1中移除p2,则需这样写:
p1.remove(p2);
p1.repaint();
简单来说,添加用validate(),删除用repaint();