JPanel的移除控件和刷新

前几天遇到一个在JPanel中移除控件后,用revalidate()方法重绘后,面板刷新有不彻底或延时的问题,通过网页的各种方法后,添加了JPanel的repaint()方法才解决了这个问题。原来revalidate()方法是对布局管理器对应的容器的子组件重新布局并绘制。但是容器自身“不一定”会绘制。容器自身的重绘,轻量级的方法一般调用repaint()。
如:

 Panel1.remove(pieces);//删除panel1中原有的组件
 demo.setBounds(0, 92, 338, 528);
 Panel1.add(demo);//panel1添加新的组件
 Panel1.revalidate();//对panel1面板中的组件重新布局并绘制
 Panel1.repaint();//对panel1本身进行重绘

猜你喜欢

转载自blog.csdn.net/qq_44428824/article/details/113759304