日期:2014-05-20  浏览次数:20863 次

Swing: removeAll()不起作用!求大牛急救~~
本帖最后由 frr0717 于 2012-12-05 20:45:22 编辑 right.removeAll();//每次在right面板上增加组件之前,先将原来右边面板上的所有组件清空!!!
right.setVisible(true);
//right.revalidate();
//right.repaint();
right.add(new PreferenceManagementWindow(userNumber, userId, client));

代码片段如上。我的最初想法是左边的panel上有几个按钮,每次点击之后,在右边的panel上显示相应内容。所以就要清除掉right面板上原来的组件,然后再加上新的组件。
但是我用了但是removeAll方法,不起作用;加上了revalidate(会报错)或者repaint(不报错,但是效果还是没有)都不能清除原来right面板上的组件。而是叠加在上面,如图:
上图是点击左列第一个按钮时right应该出现的;
然后我想点击第二个按钮,出现新的东西,但是点击了之后没有反应,而是需要在right上面单击一下,才出现在老的组件上面,如下图:


怎样才能达到我的目的?
请各位大牛指点迷津,谢谢!
------解决方案--------------------
求大牛解答!!感谢!!
------解决方案--------------------
不用了,是因为没有setVisible的原因。打扰各位了!!