JFace的Hello,world!

来源:互联网 发布:ots工程师知乎 编辑:程序博客网 时间:2024/05/16 06:53

我们仍然是从一个最简单的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!是一样的,所以在这里我也不再贴图了。大家可以自己运行看一下。

0 0
原创粉丝点击