Loading, please wait...

Monday, March 23, 2009

LayoutManager删除Component的的误区

最近在写ui时,一时糊涂,用LayoutManager的removeLayoutComponent方法移除组件,结果组件是移除了,但重新在容器内添加新组件内,显示的竟然还是原来的(我的布局是BorderLayout),起初还以为是界面没更新了,折腾了半天,重新查API,结果找到了原因。
BorderLayout (Java 2 Platform SE 6)

removeLayoutComponent

public void removeLayoutComponent(Component comp)
此边框布局中移除指定组件。当容器调用其 removeremoveAll 方法时,可调用此方法。大多数应用程序并不直接调用此方法。
指定者:
接口 LayoutManager 中的 removeLayoutComponent

参数:
comp - 要移除的组件。
另请参见:
Container.remove(java.awt.Component), Container.removeAll()
从布局中移除指定组件,也就是说并没有从容器中移除。所以还是建议使用容器的remove方法移除组件,以保万无一失。
偶然遇到这样的情况,和大家分享下。

转载声明: 出自: Ghoul To World!作者: GreatGhoul

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.