FirstBlog
这是第一个swt程序。其中感觉应当注意这几个问题:
1 package test; 2 import org.eclipse.swt.SWT; 3 import org.eclipse.swt.widgets.Display; 4 import org.eclipse.swt.widgets.Shell; 5 import org.eclipse.swt.widgets.Text; 6 public class Hello { 7 public static void main(String[] args) { 8 Display display = new Display(); 9 Shell shell = new Shell(display); 10 Text helloText = new Text(shell, SWT.CENTER); 11 shell.setText("HELLO"); 12 helloText.setText("Hello,World!"); 13 shell.setLocation(300, 300); 14 shell.setSize(300, 300); 15 helloText.pack(); 16 shell.pack(); //窗口内容紧缩 17 shell.open(); //窗口打开 18 while (!shell.isDisposed()) { 19 if (!display.readAndDispatch()) { 20 display.sleep(); 21 } 22 } 23 display.dispose(); 24 } 25 }
我们知道: Display是一个“幕后工作者”,它为swt/JFace提供支持,但是你并不能够从某个用户界面中看到它的影子。 每个swt程序在最开始都必须创建一个Display对象。Display对象起什么作用呢?它是swt与操作系统沟通的一座桥梁。它负责swt和操作系统之间的通信。它将swt/JFace的各种调用转化为系统的底层调用,控制操作系统为swt分配的资源。同时我们也可以通过Display对象得到操作系统的一些信息。 一个Shell对象就是一个窗口。你可以在上面放置各种部件创建丰富的图形界面。 我们都知道窗口有很多种,比如窗口有可以调整大小的,有不可以的,有的没有最大化最小化按钮。这些窗体的特征在swt中被成为风格(style)。一个窗体的风格可以用一个整数进行定义。这些风格的定义在org.eclipse.swt.SWT中。 Shell对象可用的风格包括:BORDER, CLOSE, MIN, MAX, NO_TRIM, RESIZE, TITLE , PLICATION_MODAL, MODELESS, PRIMARY_MODAL,S YSTEM_MODAL 我们可以在一个Shell的构造函数中定义它的风格,比如在前面的Hello,world!程序中,我们可以这样定义Shell。 Shell shell = new Shell(display,SWT.CLOSE | SWT.SYSTEM_MODAL); 最后得到的窗体没有最大化和最小化按钮,并且大小是固定不变的。 因为swt运行于各种平台之上,而这些平台上的窗口管理器千差万别,所以所有这些风格都不是肯定可以实现的。在swt的javadoc中,这被称为暗示(hints)。 Shell对象的方法大都和GUI有关,比如setEnabled()设定了窗体是否能够和用户进行交互,setVisble()设定了窗体是否可见,setActive()将窗体设为当前的活动窗口。 我们可以用open()方法打开一个窗体,close()方法关闭一个窗体。
1.注意包的引入正确。 2.其中上面也说过open()和pack()两个函数的使用。第一次我们会想变换窗口的大小,但由于我们上面设置的是shell.pack();所以不能弹出大窗口;pack()函数将窗口来紧缩,我们可以去掉它,同样helloText也可以调用这个方法来设置文字的紧缩程度 3.我们通过 while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); 来判断窗口是否关闭。 准备写写jface,开始在这方面学习。这是第一次写博客,经验不足。希望高手指导交流。

浙公网安备 33010602011771号