pse笔记]一个最简单的SWT程序
我们来看一段最简单的SWT程序是什么样子:package sean.test.swt;import org.eclipse.swt.widgets.Display;import org.eclipse.swt.widgets.Shell;public class SimplestSWT { public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); }}这段代码运行时会显示一个空的窗体。比较有意思的是Shell shell = new Shell(display);这一句,通过它我们可以了解到:在SWT中,子控件在构建时会传入包含该子控件的母控件引用,更进一步,在一个母控件被销毁时,包含的自控件也会自动被销毁。几乎所有常见的SWT控件都是以这种方式处理的。由于SWT使用OS自带的API,SWT控件的创建和销毁就跟纯Java实现有些不一样。在接触SWT之前,总觉得它遥不可及,真正看到具体的代码后才发觉,原来它近在咫尺。
我们来看一段最简单的SWT程序是什么样子:package sean.test.swt;import org.eclipse.swt.widgets.Display;import org.eclipse.swt.widgets.Shell;public class SimplestSWT { public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.pack(); shell.open(); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } display.dispose(); }}这段代码运行时会显示一个空的窗体。比较有意思的是Shell shell = new Shell(display);这一句,通过它我们可以了解到:在SWT中,子控件在构建时会传入包含该子控件的母控件引用,更进一步,在一个母控件被销毁时,包含的自控件也会自动被销毁。几乎所有常见的SWT控件都是以这种方式处理的。由于SWT使用OS自带的API,SWT控件的创建和销毁就跟纯Java实现有些不一样。在接触SWT之前,总觉得它遥不可及,真正看到具体的代码后才发觉,原来它近在咫尺。