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

borderlayout的问题
borderlayout中如果重复向同一个位置添加组件会覆盖上次的组件,那么以前的组件被删除了吗?如果不删除岂不是组件越来越多,但是都访问不到了。

------解决方案--------------------
不删除,只是显示上被覆盖了。

可以用remove来删除指定位置的控件,或removeAll删除所有。
------解决方案--------------------
不会被删除,被覆盖掉了,不是还有许多其他的布局管理器么。BorderLayout我一般都加位置
------解决方案--------------------
被覆盖后即使上层组件被remove(Component),下层组件也不能显示
------解决方案--------------------
awt/swing的布局管理器和容器是分开的。当你add组件进去时,这个组件首先被容器接受,放入了一个列表里,然后再传递给布局管理器。

对于BorderLayout,如果你往同一个位置上add多个组件,虽然只有最后一个被BorderLayout保留,但是都还在容器里