今天终于把这个困惑两天的问题解决了……
其实是跑去天心阁玩了一天,给别人做图做了一个晚上的时间,今天上午无耻又无奈的解决了,(*^__^*) 嘻嘻……
首先 ,介绍两个java.awt.Container类的两个方法:
1、removeAll()
public void removeAll()
从此容器中移除所有组件。此方法还通知布局管理器,通过 removeLayoutComponent 方法从此容器的布局中移除这些组件。
2、validate()
public void validate()
验证此容器及其所有子组件。
使用 validate 方法会使容器再次布置其子组件。已经显示容器后,在修改此容器的子组件的时候(在容器中添加或移除组件,或者更改与 布局相关的信息),应该调用上述方法。
如果此 Container 无效,则此方法将调用 validateTree 方法,并将此 Container 标记为有效。否则不执行任何动作。
其次 ,介绍一下解决的模板
在动作接听器中写下下面相似代码,具体应用请灵活使用个,可以参考最下面的参考代码
JPanel simplePanel = new JPanel();
panel.removeAll(); //panel是你需要更改的JPanel容器
panel.add(simplePanel);
panel.validate(); //同样也可以使用repaint()方法,不过需要设置panel的可见性(setVisiable(true);)
最后 ,给一个示例代码