天天看点

SWT 入门之 -> HelloWorld

 1

SWT 入门之 -> HelloWorld

import org.eclipse.swt.SWT;

 2

SWT 入门之 -> HelloWorld

import org.eclipse.swt.widgets.Display;

 3

SWT 入门之 -> HelloWorld

import org.eclipse.swt.widgets.Label;

 4

SWT 入门之 -> HelloWorld

import org.eclipse.swt.widgets.Shell;

 5

SWT 入门之 -> HelloWorld

 6

SWT 入门之 -> HelloWorld
SWT 入门之 -> HelloWorld

10

SWT 入门之 -> HelloWorld
SWT 入门之 -> HelloWorld

public   class  HelloWorld 

SWT 入门之 -> HelloWorld

{

11

SWT 入门之 -> HelloWorld

12

SWT 入门之 -> HelloWorld
SWT 入门之 -> HelloWorld

    public static void main(String[] args) 

SWT 入门之 -> HelloWorld

{

13

SWT 入门之 -> HelloWorld

        Display display = new Display();

14

SWT 入门之 -> HelloWorld

        Shell shell = new Shell(display);

15

SWT 入门之 -> HelloWorld

        Label label = new Label(shell,SWT.CENTER);

16

SWT 入门之 -> HelloWorld

        label.setText("Hello, World!!");

17

SWT 入门之 -> HelloWorld

        label.setBounds(shell.getClientArea());

18

SWT 入门之 -> HelloWorld

        shell.open();

19

SWT 入门之 -> HelloWorld
SWT 入门之 -> HelloWorld

        while(!shell.isDisposed())

SWT 入门之 -> HelloWorld

{

20

SWT 入门之 -> HelloWorld
SWT 入门之 -> HelloWorld

            if(!display.readAndDispatch())

SWT 入门之 -> HelloWorld

{

21

SWT 入门之 -> HelloWorld

                display.sleep();

22

SWT 入门之 -> HelloWorld

            }

23

SWT 入门之 -> HelloWorld

            // 这里是让出来的控件停留一下,不加的话闪了一下后就消失了

24

SWT 入门之 -> HelloWorld
SWT 入门之 -> HelloWorld

            try 

SWT 入门之 -> HelloWorld

{

25

SWT 入门之 -> HelloWorld

                Thread.sleep(10000);

26

SWT 入门之 -> HelloWorld
SWT 入门之 -> HelloWorld

            } catch (InterruptedException e) 

SWT 入门之 -> HelloWorld

{

27

SWT 入门之 -> HelloWorld

                System.out.println(e.getMessage());

28

SWT 入门之 -> HelloWorld

            }

29

SWT 入门之 -> HelloWorld

            display.dispose();

30

SWT 入门之 -> HelloWorld

        }

31

SWT 入门之 -> HelloWorld

    }

32

SWT 入门之 -> HelloWorld

}

意图很简单的一个程序,因为是第一个SWT程序嘛,就这样运行的话是会抛出异常的:

java.lang.UnsatisfiedLinkError: no

swt-win32-3123

in java.library.path

Exception in thread "main"

解决方法则是找到两个 .dll 文件,分别叫:swt-awt-win32-3064.dll,swt-win32-3064.dll,把这两个东西复制到 win 系统目录下的 system32 ,相信大多数人还是用的 Windows 吧。

这样运行成功一次后好像就可以了,再删除的话也没什么关系,一样能够正常运行。

Swing 就不学了,谁让他没 SWT/JFace 强呢?既然是新学,就选功能最强大的开始吧。其实也挺可惜的,Swing 类库里的类我已经了解得有一定数目,并且使用起来问题也不是很大了。这样说丢就丢了,诶。