[doc] Hello SWT :: 寫你的第一隻SWT程式

看板java作者時間19年前 (2006/03/28 13:01), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
/* * Date: 2005/05/27 * Program: Hello SWT */ import org.eclipse.swt.widgets.*; public class SWTHello { public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setSize(400, 300); shell.setText("Hello SWT"); shell.open(); while (!shell.isDisposed()) if (!display.readAndDispatch()) { display.sleep(); } display.dispose(); } } 這是一個簡單的示範,雖然他用了老套的Hello World,但個例子小巧且完整。 依Java語言命名慣例,大寫的為類別,撇開一些與SWT無關的類別。從程式的上 方往下瀏覽,依序看到的新類別為:Display與Shell。這二個類別是撰寫SWT時 至少應含有的類別。 Display類別是用來連繫SWT程式與底層作業系統。負責處理執行緒間的通訊與 作業系統事件迴圈的控制。通常一個SWT程式,只需要一個Display類別。用一 個Display建立SWT程式,用畢後呼叫dispose 方法釋放系統資源。若你有意讓 SWT寫出來的GUI 以多執行緒的方式執行,才會需要用以多個Display類別[2]。 Shell 類別本身代表一個視窗,由作業系統的視窗管理員所控制。程式中第一 個建立出來的Shell實體,需指定給Display實體成為其子元件[3]。而Shell也 能成為Shell的元件,例如:隸屬於一個"視窗"的"對話方塊"。 視窗與對話方 塊都是建築在Shell之上的。Shell身為一個視窗,所以你可以期待他提供這些 功能:移動視窗,改變視窗大小,視窗最大化及視窗最小化。 這個例子僅使用了SWT 所提供的二個類別,但卻是最重要的二個。若不明白這 二個類別所代表的意義與功能,SWT 程式的撰寫只像是每次放了二顆石頭在固 定的位置罷了。最後,以一個message loop來取得觸發的事件 [1] 由reference翻過來的,我也看不太懂XD [2] 可參閱Standard Widget Toolkit Reference之Threading issues。 [3] "Top level shells are those that are created as a child of the display" 手冊沒有寫"元件" 但是不知怎麼描述才好>"< *. Standard Widget Toolkit Reference可由Eclipse使用手冊中尋得 http://help.eclipse.org/help30/index.jsp ?topic=/org.eclipse.platform.doc.isv/guide/swt.htm -- 我所追求的純粹只是任性,完全的任性。 -- 挪威的森林 -- ※ Origin: SayYA 資訊站 <bbs.sayya.org> ◆ From: 163.26.34.20 ◆ Modify: 06/03/28 12:53:22 <163.26.34.20>
文章代碼(AID): #14ACCF00 (java)
文章代碼(AID): #14ACCF00 (java)