一個簡單的SWT程式例項及詳解
阿新 • • 發佈:2019-02-10
讓我們從簡單的 HelloWorld 應用程式開始。
一、將SWT新增到工程的類路徑中
首先建立一個java工程。在開始使用SWT之前,需要將SWT庫檔案新增到工程的類路徑中。步驟如下:
1. 下載SWT。在Eclipse SDK的下載頁面中,提供了獨立版本的SWT下載。找到標有SWT Binary and Source 的欄目。下載適合你作業系統的版本,不用解壓,直接儲存到硬碟中。
2. 在Eclipse選單欄,選擇File-〉Import...開啟匯入嚮導
3. 選擇Existing Projects into Workspace ,點選Next按鈕
4. 選擇 Select archive file並使用 Browse...按鈕來找到你剛才下載的SWT檔案。
5. 點選Finish按鈕,完成SWT匯入。
6. 右鍵點選你建立的工程,選擇Properties 來開啟Properties對話方塊。
7. 選擇 Java Build Path tab並點選Add按鈕. -> Projects
8. 選擇 org.eclipse.swt工程, 點選 OK,完成新增SWT庫到你的工程中(見圖1).
二、 SWT 程式碼
現在在你建立的java工程中,新建一個java檔案,取名為 HelloWorld。在HelloWorld.java檔案中把main()方法覆蓋為以下程式碼:
注:
在覆蓋了上述程式碼後, 選擇選單欄中的 Source -> Organize Imports命令 (或者按Ctrl+Shift+O) 來把需要引用的SWT包匯入到HelloWorld.java檔案中 。
以下是對各行程式碼的詳細解釋:
第2行:每個基於SWT的應用程式都有一個Display類的例項。用來將低層平臺和SWT進行連結。除了管理SWT的事件迴圈,還能訪問SWT需要的平臺資源。在16行,display例項將會提交給垃圾收集器。
第3行:每一個視窗都有一個Shell視窗框架,來與使用者進行互動。Shell像所有的windows系統一樣來處理動作行為,並作為視窗控制元件的放置場所。
第4行: setText()方法設定視窗的標題.
第5行: setBounds() 方法設定視窗的大小和放置的位置. 在這個例子中, 設定視窗為200個畫素寬,50個畫素高,並放在離螢幕的左上角100x100畫素的位置上。
第6行: setLayout()方法 設定視窗框架的佈局. FillLayout,充滿式佈局管理器,使得元件大小會盡量的充滿整個容器.SWT的佈局管理器會在以後詳細介紹。
第7行:在shell上新建一個簡單的label元件並居中顯示label的文字內容。
第8行: setText() 方法 設定label的文字內容。
第9行:建立一個紅色的顏色類的例項。你也可以使用以下語句獲得系統紅色的例項:
Color red = display.getSystemColor(SWT.COLOR_RED);
第10行: setForeground() 方法 設定label的前景色
第11行:到目前為止,視窗框架還是不可見的。通過open()方法使得視窗可見。
第12行: while語句迴圈檢測視窗有沒有關閉。
第13行:display 控制事件的迴圈. readAndDispatch() 方法從平臺的事件佇列中讀取事件,並分配他們到合適的處理程式(接收者)。只要佇列中一直有事件可以處理,這個方法一直返回true,當事件佇列為空時,則返回false(因此允許使用者介面UI執行緒出於sleep狀態直到事件佇列不為空)。
第15,16行:當迴圈檢測到視窗被關閉時,需要將color,display和一些相關聯的平臺資源釋放。注意到系統顏色例項(colors)將會被提交釋放。
二、 執行這個例子
通常情況下,為了啟動一個java應用程式,會使用Run As -〉 Java Application 命令。在這裡,如此執行將會丟擲 UnsatisfiedLinkError 異常,說明沒有找到 SWT 的本地庫。如果執行 Run As > SWT Application 命令,將會彈出 SWT 啟動配置視窗,見圖 2 ,在圖 2 中可以點選 run 按鈕。
點選 run ,執行結果圖 3 。
一、將SWT新增到工程的類路徑中
首先建立一個java工程。在開始使用SWT之前,需要將SWT庫檔案新增到工程的類路徑中。步驟如下:
1. 下載SWT。在Eclipse SDK的下載頁面中,提供了獨立版本的SWT下載。找到標有SWT Binary and Source 的欄目。下載適合你作業系統的版本,不用解壓,直接儲存到硬碟中。
2. 在Eclipse選單欄,選擇File-〉Import...開啟匯入嚮導
3. 選擇Existing Projects into Workspace ,點選Next按鈕
4. 選擇 Select archive file並使用 Browse...按鈕來找到你剛才下載的SWT檔案。
5. 點選Finish按鈕,完成SWT匯入。
6. 右鍵點選你建立的工程,選擇Properties 來開啟Properties對話方塊。
7. 選擇 Java Build Path tab並點選Add按鈕. -> Projects
8. 選擇 org.eclipse.swt工程, 點選 OK,完成新增SWT庫到你的工程中(見圖1).
圖 1 |
二、 SWT 程式碼
現在在你建立的java工程中,新建一個java檔案,取名為 HelloWorld。在HelloWorld.java檔案中把main()方法覆蓋為以下程式碼:
1 public static void main(String[] args) { 2 Display display = new Display(); 3 Shell shell = new Shell(display); 4 shell.setText( " Hello World " ); 5 shell.setBounds( 100 , 100 , 200 , 50 ); 6 shell.setLayout( new FillLayout()); 7 Label label = new Label(shell, SWT.CENTER); 8 label.setText( " Hello World " ); 9 Color red = new Color(display, 255 , 0 , 0 ); 10 label.setForeground(red); 11 shell.open(); 12 while ( ! shell.isDisposed()) { 13 if ( ! display.readAndDispatch()) display.sleep(); 14 } 15 red.dispose(); 16 display.dispose(); 17 } |
注:
在覆蓋了上述程式碼後, 選擇選單欄中的 Source -> Organize Imports命令 (或者按Ctrl+Shift+O) 來把需要引用的SWT包匯入到HelloWorld.java檔案中 。
以下是對各行程式碼的詳細解釋:
第2行:每個基於SWT的應用程式都有一個Display類的例項。用來將低層平臺和SWT進行連結。除了管理SWT的事件迴圈,還能訪問SWT需要的平臺資源。在16行,display例項將會提交給垃圾收集器。
第3行:每一個視窗都有一個Shell視窗框架,來與使用者進行互動。Shell像所有的windows系統一樣來處理動作行為,並作為視窗控制元件的放置場所。
第4行: setText()方法設定視窗的標題.
第5行: setBounds() 方法設定視窗的大小和放置的位置. 在這個例子中, 設定視窗為200個畫素寬,50個畫素高,並放在離螢幕的左上角100x100畫素的位置上。
第6行: setLayout()方法 設定視窗框架的佈局. FillLayout,充滿式佈局管理器,使得元件大小會盡量的充滿整個容器.SWT的佈局管理器會在以後詳細介紹。
第7行:在shell上新建一個簡單的label元件並居中顯示label的文字內容。
第8行: setText() 方法 設定label的文字內容。
第9行:建立一個紅色的顏色類的例項。你也可以使用以下語句獲得系統紅色的例項:
Color red = display.getSystemColor(SWT.COLOR_RED);
第10行: setForeground() 方法 設定label的前景色
第11行:到目前為止,視窗框架還是不可見的。通過open()方法使得視窗可見。
第12行: while語句迴圈檢測視窗有沒有關閉。
第13行:display 控制事件的迴圈. readAndDispatch() 方法從平臺的事件佇列中讀取事件,並分配他們到合適的處理程式(接收者)。只要佇列中一直有事件可以處理,這個方法一直返回true,當事件佇列為空時,則返回false(因此允許使用者介面UI執行緒出於sleep狀態直到事件佇列不為空)。
第15,16行:當迴圈檢測到視窗被關閉時,需要將color,display和一些相關聯的平臺資源釋放。注意到系統顏色例項(colors)將會被提交釋放。
二、 執行這個例子
通常情況下,為了啟動一個java應用程式,會使用Run As -〉 Java Application 命令。在這裡,如此執行將會丟擲 UnsatisfiedLinkError 異常,說明沒有找到 SWT 的本地庫。如果執行 Run As > SWT Application 命令,將會彈出 SWT 啟動配置視窗,見圖 2 ,在圖 2 中可以點選 run 按鈕。
圖 2 |
點選 run ,執行結果圖 3 。
圖 3 |