国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

一個簡單的SWT程序實例及詳解

2019-11-18 11:37:01
字體:
來源:轉載
供稿:網友

讓我們從簡單的 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程序實例及詳解(圖一)
點擊查看大圖

圖 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 按鈕。

一個簡單的SWT程序實例及詳解(圖二)



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 罗江县| 乌拉特中旗| 和顺县| 来安县| 汉川市| 台中县| 谢通门县| 松滋市| 鹤峰县| 岱山县| 辽源市| 桓仁| 五常市| 湄潭县| 瓮安县| 韩城市| 卢龙县| 皮山县| 通海县| 兴仁县| 淮滨县| 抚远县| 乌苏市| 永福县| 遂溪县| 铜山县| 太白县| 舟曲县| 洛阳市| 工布江达县| 荥阳市| 灯塔市| 大荔县| 永登县| 历史| 友谊县| 乌拉特后旗| 乌兰浩特市| 德格县| 桃源县| 田东县|