谈谈Java Swing中布局管理器

来源:互联网 发布:阿里云9.9学生机 编辑:程序博客网 时间:2024/05/18 02:31
在做Swing开发时,布局管理器是常用的。在Java中默认提供了几种常用的布局管理器,主要有如下几种:
1、GridLayout
2、BorderLayout
3、GridBagLayout
4、FlowLayout
5、SpringLayout
各个布局的解释可以看JDK文档,根据我做Swing的经验,我认为GridLayout和BorderLayout是基本的布局管理器,几乎每个界面中都有可能会用到,只是多少而已。
从功能和效率上讲,SpringLayout是最强的,我现在几乎大部分布局都用SpringLayout开发。虽然GridBagLayout也可以做到SpringLayout的效果,但是说实话太复杂了,不好控制。但是这两种布局有一个共同的缺点:在维护阶段如果需要添加功能,则比较费劲。
对于Netbeans提供的GroupLayout太差了,产生的代码可读性太差,执行效率也太差。
我其实比较推崇SWT中的GridLayout,有兴趣的可以自己移植一个,这个Layout确实功能强大,可以完成大部分布局功能。

但是不管用什么布局,不要指望在做界面时,用一种布局搞定。这是不现实的。最佳方法是对界面进行划分,主体用什么布局,局部用什么布局。这样将来维护时就不会很痛苦。代码结构也比较清爽。

有兴趣的可以自定义一些布局,如RowLayout,ColumnLayout,TableLayout,SWT中的FormLayout等等,这些都是比较有用的布局。当然这些需要自己去实现。
原创粉丝点击