JFace的Hello,world!

本文介绍了使用Eclipse JFace库实现一个简单的Hello World程序的方法。通过对比纯SWT编程方式,展示了如何创建继承自Window的类并在其中定义窗口内容,设置窗口保持打开状态直至关闭,最后释放资源。

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

我们仍然是从一个最简单的Hello,world!开始介绍JFace。为了更形象一些,首先把程序列出来:

 1 
 2 public class HelloJface extends Window {
 3 
 4     public HelloJface(Shell arg0) {
 5         super(arg0);
 6     }
 7       @Override
 8     protected Control createContents(Composite parent) {
 9         Text text = new Text(parent, SWT.NONE);
10         text.setText("Hello,world!");
11         return parent;
12 
13     }
14     /**
15      * @param args
16      */
17     public static void main(String[] args) {
18 
19         HelloJface demo = new HelloJface(null);
20         demo.setBlockOnOpen(true);
21         demo.open();
22         Display.getCurrent().dispose();
23 
24     }
25 }
26 

代码段12

首先我们从这段代码来看一下使用JFace和单纯地使用swt写程序有什么不一样:

swt程序中,我们需要自己创建Display,自己创建Shell,但是在这里,我们只需要:

创建一个继承自Windoworg.eclipse.jface.window.Window)的类

在这个类的createContents方法中为窗口添加部件

将这个对象的blockOnOpen属性设定为true,这个属性的含义就和它的名字一样,窗口会一直保持打开的状态(接收各种事件)直到被关闭。

调用这个对象的open方法即打开了窗口

由于设定了blockOnOpen,窗口会保持接受各种事件,知道用户(或者程序)关闭了它。

在关闭以后,程序继续向下运行,我们需要将资源释放掉,所以有了这样一句话:

Display.getCurrent().dispose();

其中Display.getCurrent()得到了程序的display对象,并进而调用dispost()方法释放了各种资源。

其实这也是我们写一个JFace程序一般的步骤,当然我们可能还会添加事件处理之类,但是大体上都是这样的。

因为这个程序运行的结果其实和我们以前swtHello,world!是一样的,所以在这里我也不再贴图了。大家可以自己运行看一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值