没有合适的资源?快使用搜索试试~ 我知道了~
首页swt入门教程swt JFACE入门教程
swt入门教程swt JFACE入门教程
1星 需积分: 41 25 下载量 129 浏览量
更新于2023-07-20
收藏 122KB DOC 举报
swt JFACE入门教程。里面有详细的布局示例,可共参考。布局格式布局格式布局格式布局格式
资源详情
资源推荐
4.1.1 SWT 程序开发步骤
在 eclipse 的 plugins 目 录 下 , 找 到 文 件
org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar , 文 件 名 中 中 3.2.1 是 eclipse 的 版 本
号,v3235 是 SWT 的序列号,不同的 eclipse 版本这两个数字也不同。在 DOS 状态
下,用 jar 命令将该文件解压,命令格式如下:
jar xf org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar
该命令将指定的文件 org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar 解压到当前目录
下。解压后得到四个 DLL 文件: swt-win32-3235.dll ,swt-awt-win32-3235.dll ,swt-
gdip-win32-3235.dll 和 swt-wgl-win32-3235.dll。这四个文件就是 SWT 的原生库文件。
原生库文件为 SWT 通过 JNI 访问 windows 本地 API 提供了接口,为使 Java 程序在启
动时能够访问这些文件,可以通过以下方法进行设置:
方法一:将这四个 DLL 文件复制到 jre 的 bin 目录下。
方法二:设置环境变量,在 PATH 中加入这几个 dll 文件所在的目录。
方法三:在 eclipse 的 Java 项目中导入原生库文件。操作方法是:
在 eclipse 的包资源管理器中,右单击项目名→导入→常规→文件系统→下一步→浏览
→选择 DLL 文件所在目录→确定→勾选 DLL 文件→完成。
导入 SWT 的原生库文件后,还要在 eclipse 的 Java 项目中配置构建路径,添加外部
JAR,将文件 org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar 加入到项目中,操作方法
是:
在 eclipse 的包资源管理器中,右单击项目名→构建路径→配置构建路径→库(L)→
添加外部 JAR→在 eclipse 的 plugins 文件夹中找到该 jar 文件→打开→确定。
例 4.1 在 Java 应用程序中使用 SWT 的组件。
操作步骤:
① 新建一个 Java 项目,项目名为:sample4_1。
② 采用方法三在项目中导入原生库文件。
③ 配 置 构 建 路 径 , 将 org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar 加 入 到 项 目
中。eclipse 包资源管理器可以看到导入的原生库文件和引入的 jar 文件,如图 4.2 所
示。
④ 在项目中新建一个类,文件名为 HelloSWT.java。
⑤ 在类文件中写入代码。
图 4.2 包资源管理器–––––––––––––––––图 4.3 程序运行结果
HelloSWT.java 文件内容如下:
package edu.ch4;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.graphics.*;
class HelloSWT {
public static void main(String[] args) {
Display display=new Display();//创建一个 display 对象。
Shell shell=new Shell(display);//shell 是程序的主窗体
shell.setLayout(null); //设置 shell 的布局方式
Text hello=new Text(shell,SWT.MULTI); //声明一个可以显示多行信息的文本框
shell.setText("Java 应用程序"); //设置主窗体的标题
shell.setSize(200,100); //设置主窗体的大小
Color color=new Color(Display.getCurrent(),255,255,255);// 声 明 颜 色
对象
shell.setBackground(color); //设置窗体的背景颜色
hello.setText("Hello, SWT World!\n\n 你好,SWT 世界!");//设置文本框信
息
hello.pack(); //自动调整文本框的大小
//shell.pack(); //自动调整主窗体的大小
shell.open(); //打开主窗体
while(!shell.isDisposed()){ //如果主窗体没有关闭则一直循环
if(!display.readAndDispatch()){ //如果 display 不忙
display.sleep(); //休眠
}
}
display.dispose(); //销毁 display
}
}
在包资源管理器中,右单击文件名 HelloSWT.java→运行方式→Java 应用程序,程序
运行结果如图 4.3 所示。该窗体具有典型的 Windows 风格。
分析本例的源代码,可以看到,创建一个典型的 SWT 应用程序需要以下步骤:
① 创建一个 Display
② 创建一个或多个 Shell
③ 设置 Shell 的布局
④ 创建 Shell 中的组件
⑤ 用 open()方法打开 Shell 窗体
⑥ 写一个事件转发循环
⑦ 销毁 display
4.2 SWT/JFace 常用组件
SWT/JFace 常用组件有按钮(Button 类)、标签(Label 类)、文本框(Text 类)、
下拉框(Combo 类)和列表框(List 类)等。
4.2.1 按钮组件
按钮(Button)组件是 SWT 中最常用的组件,Button 类的构造方法是:
Button(Composite parent,int style)
该方法有两个参数:
第一个参数 parent 是指 Button 创建在哪一个容器上。Composite(面板)是最常用的容
器,Shell(窗体)继承自 Composite,此参数也能接受 Shell 和任何继承自 Compsite 的
类。第二个参数 style 用来指定 Button 的式样。SWT 组件可以在构造方法中使用式样
(style)来声明组件的外观形状和文字的式样。 SWT 组件的构造方法和 Button 类相
似,参数的含义也相同。
1.Button 组件常用式样
SWT.PUSH:按钮。
SWT.CHECK:多选按钮。
SWT.RADIO:单选按钮。
SWT.ARROW:箭头按钮。
SWT.NONE:默认按钮。
SWT.CENTER:文字居中,与 SWT.NONE 相同。
SWT.LEFT:文字靠左。
SWT.RIGHT:文字靠右。
SWT.BORDER:深陷型按钮。
SWT.FLAT:平面型按钮。
一个 Button 也可以指定多个式样,只要将指定的各个式样用符号“|”连接起来即可。如:
Button bt=new Button(shell,SWT.CHECK|SWT.BORDER|SWT.LEFT);
表示创建的按钮 bt 是一个复选按钮(CHECK),深陷型( BORDER)、文字左对齐
(LEFT)。
2.Button 组件的常用方法
setText(String string):设置组件的标签文字。
setBounds(int x,int y,int width,int height):设置组件的坐标位置和大小(x 轴坐标,y 轴
坐标,组件宽度 width,组件高度 height)。
setEnabled(Boolean enabled):设置组件是否可用。true:可用(默认值),false:不
可用。
setFont(Font font):设置文字的字体。
setForeground(Color color):设置前景色。
setBackgrount(Color color):设置背景色。
setImage(Image image):设置显示的图片。
setSelection(Boolean selected):设置是否选中(仅对复选框或单选框有效)。true:选
中,false:未选中(默认值)。
setToolTipText(String string):设置鼠标停留在组件上时出现的提示信息。
以上方法在其他组件中也可使用。
例 4.2 按钮示例。
按照例 4.1 的操作步骤建立项目、设置构建路径和引入原生库。类 Sample4_2.java 源代
码如下:
package edu.ch4;
import org.eclipse.swt.*;
import org.eclipse.swt.widgets.*;
public class Sample4_2 {
public static void main(String[] args) {
Display display=new Display();//创建一个 display 对象。
Shell shell=new Shell(display);//shell 是程序的主窗体
//shell.setLayout(null); //设置 shell 的布局方式
shell.setText("按钮示例"); //设置主窗体的标题
Button bt1=new Button(shell,SWT.NULL); //创建默认按钮
bt1.setText("SWT.NULL"); //设置按钮上的文字
bt1.setBounds(10,10,75,30); //设置按钮显示位置及宽度、高度
Button bt2=new Button(shell,SWT.PUSH|SWT.BORDER); //创建深陷型按钮
bt2.setText("SWT.PUSH");
bt2.setBounds(90,10,75,30);
Button check1=new Button(shell,SWT.CHECK);//创建复选按钮
check1.setText("SWT.CHECK");
check1.setBounds(10,50,75,30);
Button check2=new Button(shell,SWT.CHECK|SWT.BORDER);// 创建深陷型复选
按钮
check2.setText("SWT.CHECK");
check2.setBounds(90,50,75,30);
Button radio1=new Button(shell,SWT.RADIO);//创建单选按钮
radio1.setText("SWT.RADIO");
radio1.setBounds(10,90,75,30);
Button radio2=new Button(shell,SWT.RADIO|SWT.BORDER);//创建深陷型单选按
钮
radio2.setText("SWT.RADIO");
radio2.setBounds(90,90,75,30);
Button arrowLeft=new Button(shell,SWT.ARROW|SWT.LEFT);//创建箭头按钮(向
左)
arrowLeft.setBounds(10,130,75,20);
Button arrowRight=new Button(shell,SWT.ARROW|SWT.RIGHT|SWT.BORDER);
arrowRight.setBounds(90,130,75,20);
shell.pack(); //自动调整主窗体的大小
shell.open(); //打开主窗体
while(!shell.isDisposed()){ //如果主窗体没有关闭
if(!display.readAndDispatch()){ //如果 display 不忙
display.sleep(); //休眠
}
}
display.dispose(); //销毁 display
}
}
运行结果如图 4.4 所示。
图 4.4 按钮– – – – – – – – – – 图 4.5 标签
4.2.2 标签组件
标签(Label 类)组件是 SWT 中最简单的组件。Label 类的构造方法和 Button 类相似,
参数的含义与相同,格式如下:
Label(Composite parent,int style)
Label 类的常用式样有以下几种:
Label 类常用的式样如下:
SWT.CENTER:文字居中。
SWT.RIGHT:文字靠右。
SWT.LEFT:文字靠左。
SWT.NONE:默认式样。
SWT.WRAP:自动换行。
SWT.BORDER:深陷型。
SWT.SEPARATOR:分栏符,默认为竖线分栏。
SWT.HORIZONTAL:横线分栏符。
例 4.3 标签示例。
package edu.ch4;
import org.eclipse.swt.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.graphics.Font;
剩余27页未读,继续阅读
pjx850214
- 粉丝: 1
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功