swt java 开源项目,SWT-JFace开发入门(SWT程序、JFace程序)

本文介绍了如何在Eclipse中创建并运行SWT和JFace的HelloWorld程序。首先,通过新建插件项目自动引入SWT的依赖包,然后展示了简单的SWT程序代码,解释了其运行机制。接着,提到了JFace的ApplicationWindow类在简化UI开发中的作用,并给出了JFace HelloWorld程序的示例。最后,文章提供了运行SWT和JFace程序的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SWT程序

SWT是一套独立的库,用户可以在SWT的基础上很容易地建立自己的应用,本节的目的就是要在SWT上建立一个简单的“Hello world”程序,读者可以在这个简单的程序上建立自己的应用。

加入SWT依赖的包

SWT为用户提供了一套API,用户如果要使用SWT进行开发,必须要把所需的Jar包放在Eclipse项目的ClassPath中。在此笔者采用新建一个插件项目,插件项目会自动引用SWT相关的包,步骤如下。

1. 运行Eclipse。

单击“File”→“New”→“Other”菜单项,在弹出的对话框中选择 Select 对话框左边的 Plug-in Development 向导。如图3所示,选择 Plug-in Project。

c266b5fcd4e366024606b2f484532907.png

图3 新建插件对话框

2. 单击“Next”按钮,弹出新建对话框,输入项目名称。此处使用了“com.free.swtjface.demo”。单击“Next”按钮后弹出新建对话框页,如图4所示。

d984e5964cc8f48b504a6aeeda465e17.png

图4 新建项目

3. 单击“Next”按钮,在接下来的对话框中单击“Finish”按钮,建立一个空的插件项目在此项目中,Eclipse中已经自动引入了此插件所需要依赖的包,其中包括SWT/JFace所用到的包如图5所示。

32409e9b0cdc2e5d9a3d833e095c5954.png

图5 插件依赖的包

如果用户想加入SWT/JFace相关的包,也可以手动加入下面几个包“org.eclipse.swt.win32. win32.x86_*.jar”、“org.eclipse.swt_*.jar”和“org.eclipse.jface_*.jar”到插件的类路径中。

提示:对于初学者,通过创建插件项目自动引入SWT的jar包是一个比较好的方法,如果开发插件项目,用户也不用但心SWT的jar包没有引入的问题。

“Hello world”SWT程序

现在SWT所依赖的包已经加入到了项目的ClassPath中,SWT程序和Java的程序一样,也是通过main函数运行的,如例程1所示。

例程1 HelloWorldSwt.java

publicclassHelloWorldSwt {publicstaticvoidmain(String[] args) {

Display display=newDisplay();

Shell shell=newShell(display);

shell.setText("hello world! Window");

shell.open();while(!shell.isDisposed()) {if(!display.readAndDispatch()) {

display.sleep();

}

}

display.dispose();

}

}

这段程序虽然很简单,但是它反映了书写SWT程序的步骤:

1. 创建一个Display对象。Display对象是SWT和操作系统通信的桥梁。

2. 创建一个或者多个Shell对象。可以认为Shell代表了程序的窗口。

3. 在Shell内创建各种部件(widget),如按钮、下拉框和列表等。

4. 对各个部件进行初始化(外观、状态等),同时为各种部件的事件创建监听器 (listener)。监听器可以监听窗口的消息,在此没有添加监听器,将会在后面的章节重点介绍监听器的注册。

5. 调用Shell对象的open()方法以显示窗体。

6. 对各种事件进行监听并处理,直到程序发出退出消息。

7. 调用Display对象的dispose()方法以结束程序。

提示:SWT程序的运行和例程1类似,读者如果不清楚SWT程序的运行机制,可以直接复制上面的样板代码就可以了。

运行SWT应用

SWT程序的运行要通过JNI调用相应的操作系统控件,运行SWT程序和运行Java应用程序有点不同,在Eclipse中用户可以选择运行SWT程序(SWT Application)可以运行SWT程序,步骤如下:

1. 打开Java的默认视图,在“Hello world”程序的文件上单击鼠标右键。

2. 选择“SWT Application”菜单,如图6所示。

67ab9ef2a282dd7e7216ac37c5b7bc0e.png

图6 运行SWT程序

3. 单击“SWT Application”菜单运行,运行效果如图7所示。

7de06cb50b25fa95f8729abd640aad02.png

图7 SWT“Hello world”程序

HelloWorldSwt程序只创建了一个窗口(shell),读者可以把shell当作其它组件的父窗口,创建其它组件。

提示:在Eclipse3.3以后,运行SWT程序和运行Java程序是一样的。

JFace程序

JFace 是一个用户界面工具箱,它提供很难实现的、用于开发用户界面功能部件的 helper 类,JFace 在原始的窗口小部件系统的级别之上运行。JFace 使用户可以专注于实现特定插件的功能,而不必花费精力来处理底层窗口小部件系统或者解决几乎在任何用户界面应用程序中都很常见的问题。

“Hello world”JFace程序

JFace的应用程序相对来说更简单,它通过“ApplicationWindow”类实现应用,“ApplicationWindow”把和操作系统交互的细节封装起来了,用户只需要关心自己窗口的建立,程序代码如例程2所示。

例程2

publicclassHelloWorldJFace extends ApplicationWindow {publicHelloWorldJFace() {

super(null);

}protectedControl createContents(Composite parent) {

getShell().setText("hello world! Window");

parent.setSize(400,250);returnparent;

}publicstaticvoidmain(String[] args) {

HelloWorldJFace helloWorldApp=newHelloWorldJFace();

helloWorldApp.setBlockOnOpen(true);

helloWorldApp.open();

Display.getCurrent().dispose();

}

}

其中,JFace的应用程序可以通过重载“createContents(Composite parent)”方法添加窗口的组件到parent组件中。

运行JFace的程序和运行SWT程序一样。

Tags:java,rcp,jface,swt,ibm,eclipse,ui,gui

posted on 2008-05-04 18:35 jadmin 阅读(92) 评论(0)  编辑  收藏

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值