JAVA实训–SWT(第一天)
1. SWT基础知识
标准小窗口工具箱(SWT)
所有的内容都要通过Display对象来输出,一般一个程序只有一个Display对象。
1)SWT中的包
2)SWT中的标准布局类
1)swt中的包
- org.eclipse.swt.widgets
最常用组件:shell,composite,button,text,label,combo等
(shell-----应用程序的主窗口
composite-----容纳组件的容器) - org.eclipse.swt.layout
主要的界面布局:Layout和Layout Data结合的方式 - org.eclipse.swt.custom
一些基本图形组件的扩展在该包中 - org.eclipse.swt.event
在包中,可以找到事件监听类和相应的事件对象 - org.eclipse.swt.graphics
该包中,包含针对图片,光标,字体和绘图API - org.eclipse.swt.ole.win32
2)SWT中的标准布局类
布局类都是抽象类Layout的子类。
一个布局类可能有一个对应的布局数据(layout data)类 – 包括了定制子组件的布局数据的Object的子类。习惯上,布局数据类通常取 Layout名+Data 为标识。
在SWT中,定位和尺寸缩放不能自动地发生。应用程序可以初始化地确定一个Composite的子组件的大小和位置,或者可以通过一个调整大小的监听器来实现。另一个选择是指定一个布局类来定位和缩放这些子组件。如果子组件没有给定的尺寸大小,它们将会具有零尺寸(zero size)并且是不可见的
- FillLayout– 在单行或者单列中放置相同大小的Widget。
所有的Widget都和最高的Widget一样高,和最宽的Widget一样宽。FillLayout不会换行,而且你不能定制空白(margin)和间隔(spacing)。
注意在FillLayout中,子组件总是有相同的大小,而且充满可用空间。 - RowLayout – 在一行或者多行中放置Widget,应用了fill,**能够换行(warp)**和spacing等选项。
如果用户调整了shell的大小使得右边的Button 3没有足够的空间,RowLayout将Button 3换行放置到下一行,如下所示:
- GridLayout – 在网格中放置Widget
- FormLayout 2.0新特性 – 通过定义四边的“粘贴”位置来放置Widget。
2. 准备工作环境(略)
3.我的第一个SWT程序
- 创建工程:New — Project — WindowBuilder — SWT Designer — SWT/JFace Java Project
- 创建类:New — Other — WindowBuilder — SWT Designer — SWT —Application Window
点击下方Design进入可视化编辑模式
点击组件放置到SWT窗口中,这样就可以进行窗口的设计了
当然你也可以在点击Source按钮在代码编辑区布置你的窗口。