Loading, please wait...
Showing posts with label 布局. Show all posts
Showing posts with label 布局. Show all posts

Monday, March 23, 2009

LayoutManager删除Component的的误区

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

removeLayoutComponent

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

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

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

Sunday, November 16, 2008

java BoxLayout布局心得

非常喜欢java的布局方式,但系统提供的寻几个基础布局方式太不强大,在使用时很不便.尤其是BoxLayout时,会改变添加到其中的组件的大小,组件会因为容器大小的关系被撑得很难看.



经过反复实验,找到了一种解决方法.



解决方案:容器嵌套



在应用了BoxLayout的容器外层套一个应用了BorderLayout,根据需要,将内层容器添加到外层容器的非Center位置.这样,BorderLayout就可以限制内层容器到最合适的大小.

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