Eclise Rcp 系列一 第一个SWT程序

Eclise Rcp 系列一 第一个SWT程序

写在开始:
由于工作须要,做了一周时间的Rcp开发,发现由于Eclipse开发方面的中文资料较少,对入门者来说有些困难,
所以把自己一周的内容放上,共享给开始学习Eclipse开发的人
Eclipse开发中有很多名词: 插件开发  ,RCP ,SWT,Jface很容易让人迷糊
做个大概的比喻,如果说SWT是C++的话  那么JFace就像STL对SWT做了简单的封装  Rcp就像MFC封装更多
而插件开发和Rcp唯一不同就使导出不同,一个导出成plug in,另一个导出成独立运行的程序。其实没有什么区别

好了,开始第一个程序,从Hello world开始。写到这个地方,再次崇拜一下第一个写Hello world的人。
真应改给他搬个什么普及教育之类的奖项。
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Shell;


public class HelloSWT {

 public static void main(String[] args) {
  Display display = new Display();
  Shell shell = new Shell(display);
  Label label = new Label(shell, SWT.CENTER);
  label.setText("Hello, World");
  label.setBounds(shell.getClientArea());
  shell.open();
  while (!shell.isDisposed()){
    if (!display.readAndDispatch()){
     display.sleep();
    }
  }
  display.dispose();
 }
}

首先介绍Display,打家都知到Swt是基于操做系统的,多大部分的控、 窗口都是调用系统的,所以得有一个东西
负责把java的消息转变成系统消息,Display就是。

Shell可以简单理解成就是窗口

Label就是一个标签了。

shell.open()显视窗口

while (!shell.isDisposed()){
  if (!display.readAndDispatch()){
   display.sleep();
  }
}
熟悉Windows下编程的人大概都知到,Windows的消息循环机制。

好了试着运行一下这个程序,修改一下,找找感觉吧。

写到这里忽然想起自己没有写如何配制SWT的开发环境,对于新手来说这个是重要的。
这里有一篇文章http://dev.yesky.com/409/2620409.shtml
如果链接失效的话google一下吧

说明:
这个系列的文章是基于eclipse 3.2.1的,另外推荐一些学习的资料或者网站
首先:http://www.eclipseworld.org/bbs/
然後:在上边的论坛里边有一些前辈们写的教程,有些不错值得一看
最后:当然不可少的是ibm的网站和eclipse的官方网站

 

 

 

你可能感兴趣的:(Eclise Rcp 系列一 第一个SWT程序)