前言:
这个系列的文章又停了两周,因为最近玩心甚重,双休去北京周边去玩,花去不少时间。昨日MSN上有朋友说:“他们的系统用SWING来开发太丑了,决定改用SWT来做,可是这方面的资料还是太少了。”于是我再次提笔续写下去。Eclipse不仅仅是象Jbuilder一样的开发工具,它本身也是一个非常不错的Java Application开发平台,现在所流行构件式开发的概念在Eclipse得到了最好的体现。当你深入到Eclipse插件的开发中你也会更深入的体会到什么叫做面向对象。在这里感谢大家对这一系列文章的支持,希望尽量转帖,以传播Eclipse插件的开发方式,但请转帖时,保持文章的完整性及作者声明,尊重作者的劳动。
*************************************************************************************
作者:陈刚,桂林人,97年毕业于广西师范大学数学系,专注于java平台。现(2004.2-?)暂在IBM中国研究中心进行Eclipse插件的开发。
Email: glchengang@163.com
blog: glchengang.yeah.net
*************************************************************************************
在前面几节我们介绍了RowLayout、FillLayout、GridLayout、StackLayout,这些管理器足够我们用的了。这是布局管理器的最后最一节,我们来做一个复杂一点的界面,这个界面取自我正在开发中的一个项目---PPP的报表模块的主界面。在这一节将展示如何利用SWT Designer插件软件(此插件第前面几章有过使用介绍)来进行界面编程,希望对大家有所帮助。
报表模块的主界面如下图:

1、初步构架。做复杂界面,首先要将界面进行板块的分割,要“分而治之”,不要把所有控件全放在一个面板中,这样会很混乱,今后维护会非常困难。在这里我们将此界面划分成如下图的红色框的四个大块。

这四个板块由三个Group和一个Compsite组成,我们先写出大的构架出来,效果如下图:

其代码如下:
/*
* 陈刚 ,创建日期 2004-6-21
*
* Email: glchengang@yeah.net
* Blog : glchengang.yeah.net
*/
package net.yeah.glchengang.layout;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Shell;
public class LastApp {
public static void main(String[] args) {
LastApp window = new LastApp();
window.open();
}
public void open() {
final Display display = new Display();
final Shell shell = new Shell();
shell.setLayout(new FillLayout());
shell.setText("SWT Application");
{
final Composite composite = new Composite(shell, SWT.NONE);
final GridLayout gridLayout = new GridLayout();
gridLayout.numColumns = 2;
composite.setLayout(gridLayout);






