最新版SWT Designer 6.0 安裝,註冊方法以及例子
(1)選擇主選單“檔案→新建→專案”,彈出如下圖6.2所示視窗。
圖6.2 新建專案視窗
(2)選擇“Designer”下的“SWT/JFace Java Project”項,單擊“下一步”,彈出如下圖6.3所示視窗。
圖6.3 建立Java專案視窗
(3)填寫專案名稱“myswt”,專案佈局選擇第二個,單擊“完成”。這時如果開啟“java”透檢視,可以看到多了一個名為“myswt”的專案,下方還排列著很多庫引用,如下圖所示視窗。
圖 “java”透檢視
注:
(1)其實寫SWT程式也不是一定要重新建立這樣一個新的專案,原來老的“myproject”專案依然可以繼續使用的,但必須將SWT、JFace包及一些相關的包引用到Java構建路徑中,手工一步步做這個工作太過於繁鎖。有一個簡單的方法:藉助SWT Designer新建專案時儲存在.classpath檔案中的庫引用,將其複製貼上到myproject的.classpath中即可。
(2)當編寫Java程式時,筆者認為“Java”透檢視要比預設的“資源”透檢視好用,主要是因為前者的包顯示不是樹狀的,用起來較方便。但選擇哪一種透檢視,還是要看各人的習慣和喜好。本書以後的所講內容將統一使用“Java”透檢視。
想要執行Java應用程式,必須將SWT的原生包匯入到專案中,否則該專案在執行程式時會報異常“java.lang.UnsatisfiedLinkError: no swt-win32-3063 in java.library.path”,並彈出圖6.5所示的錯誤提示框。
圖6.5 未匯入SWT原生包時產生的錯誤提示框
匯入SWT原生包的步驟如下:
(1)右鍵單擊專案名“myswt”,在彈出選單中選擇“匯入”,則會彈出如圖6.6所示視窗。
圖6.6 匯入視窗
(2)選擇“檔案系統”後單擊“下一步”,轉到如圖6.7所示視窗
圖6.7 選擇匯入檔案
(3)通過“瀏覽”按鈕找到SWT原生庫的路徑(也可以直接輸入路徑文字),路徑為“C:\eclipse\plugins\org.eclipse.swt.win32_3.0.1\os\win32\x86”。然後將“swt-win32-3063.dll”選上,單擊“完成”,匯入SWT原生包的設定結束。
參閱“4.2節 建立Java專案並執行”所講方法,新建一個類檔案。
(1)在“Java”透檢視的“包資源管理器”中,右鍵單擊“com.swtdesigner”包,在彈出選單中選擇“新建→其他”,彈出如圖6.8所示視窗。
圖6.8 選擇新建的型別
(2)選擇“Designer→SWT→Application Window”,單擊“下一步”,彈出如圖6.9所示視窗。
圖6.9 類檔案的設定
(3)類的名稱填“HelloWorld”,並選擇“Create contents in(類程式碼的生成方式)”為第三項“public static main() method”(第三項生成的程式碼結構最簡單),彈擊“完成”。Eclipse將自動生成HelloWorld.java的程式碼,程式碼如下(註釋為筆者手工加入):
package com.swtdesigner; //包名
import org.eclipse.swt.widgets.Display;//程式所用到的類都會用import標記在這裡,
import org.eclipse.swt.widgets.Shell; //import的快捷鍵 Ctrl+Shift+O
public class HelloWorld { //一個標準的Java類HelloWorld
public static void main(String[] args) {
//display負責管理事件迴圈和控制UI執行緒和其他執行緒之間的通訊。
final Display display = Display.getDefault();
final Shell shell = new Shell(); // shell是程式的主視窗
shell.setSize(327, 253); //設定主視窗的大小
shell.setText("SWT Application"); //設定主視窗的標題
shell.layout(); //shell應用介面佈置
shell.open(); //開啟shell主視窗
while (!shell.isDisposed()) { //如果主視窗沒有關閉,則一直迴圈
if (!display.readAndDispatch()) //如果display不忙
display.sleep(); //display休眠
}
}
}
從這個程式碼可以看到,建立一個典型的SWT應用程式需要以下步驟:
l建立一個Display
l建立一個或多個Shell
l設定Shell的佈局(3.5節將講到佈局的內容)
l建立Shell中的的元件(注:本例還沒有加入元件,只是一個空視窗)
l用open()方法開啟Shell視窗
l寫一個事件轉發迴圈
l銷燬display
如果執行HelloWorld.java,它還僅是一個空蕩蕩的主視窗。我們利用SWT Designer將一個SWT的文字框元件加入到主視窗中,操作步驟如圖6.10所示。
圖6.10 將文字框加入到主視窗的操作示意圖
圖中所示的操作步驟用文字描述如下:
(1)先將編輯器最大化。然後單擊Eclipse的左下角的“Design”選項頁,則編輯器由程式碼檢視變成設計檢視。
(2)選擇SWT元件欄中“SWT Controls”分類下的“Text”元件,然後在主視窗上單擊,將Text框放入。注意這裡不是通常的將元件拖入到視窗。
(3)轉到屬性視窗,在“text”項裡填寫“HelloWorld”。單擊Eclipse左下角的“Source”返回到編輯器的程式碼檢視,程式碼如下:
package com.swtdesigner;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Text;
public class HelloWorld {
public static void main(String[] args) {
final Display display = Display.getDefault();
final Shell shell = new Shell();
shell.setSize(327, 253);
shell.setText("SWT Application");
//------------------新插入的介面核心程式碼------------------------
Text text = new Text(shell, SWT.BORDER); //新建一個text物件
text.setText("HelloWorld"); //給text文字框設定初始文字HelloWorld
text.setBounds(88, 94, 100, 25); //設定文字框的位置和大小,(x軸座標,y軸座標,寬度,高度)
//------------------END---------------------------------------------
shell.layout();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}
選擇主選單“執行→執行方式→Java應用程式”,執行介面如圖6.11所示:
圖6.11 HelloWorld的第一次執行介面
以上的程式例子還是比較簡單的,如圖6.12所示,給出一個稍微標準些的介面,並給出了各類和介面之間的對應關係。注:在SWT中check框(複選框)也是一種Button。
圖6.12 介面和類之間的對應關係圖
其中Display和Shell的譜系圖如圖6.13所示,Group和Button在3.3節有介紹。
圖6.13 Display和Shell的譜系圖
關於SWT/JFace例程的說明
由於SWT/JFace應用程式例子的整體程式碼結構都基本一樣,如下:
package com.swtdesigner;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Text;
public class HelloWorld {
public static void main(String[] args) {
final Display display = Display.getDefault();
final Shell shell = new Shell();
shell.setSize(327, 253);
shell.setText("SWT Application");
//----------------新插入的介面核心程式碼----------
…… ……
//----------------END------------------------
shell.layout();
shell.open();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}
為了節省篇幅,以後的例子一般都會省略上面程式碼框架前後部份,只給出中間省略號處的核心程式碼,要想得到完整的程式碼請查閱本書隨書光碟中的例程。
6.5 實踐建議
SWT Designer還無法完成所有的介面設計工作,所以在介面開發中依然是以手工寫程式碼為主,而且手寫程式碼某些時候比介面拖拉操作更快捷。以下是筆者在使用SWT Designer開發介面時的基本流程:
l新開一個臨時的Application檔案,用SWT Desiger快速做好開發所需要的部份介面。
l將自動生成的程式碼移植到正式專案中,進行手工修改和程式碼精簡。
另外,由於SWT Designer不是很穩定,所以在使用時還應注意:
l不要在介面中加入太多元件。
l不要頻繁的移動元件,或者刪除又新增元件,否則很可能因為記憶體耗盡而宕機。
6.6 本章小結
本章主要介紹了SWT的一些基本知識,並且用SWT Designer開發出了本書的第一個SWT程式。通過這章的學習,讀者對SWT有一個初步的認識,並瞭解到瞭如何用SWT Designer來開發SWT程式。
相關推薦
最新版SWT Designer 6.0 安裝,註冊方法以及例子
使用用嚮導建立一個SWT/JFace Java專案 (1)選擇主選單“檔案→新建→專案”,彈出如下圖6.2所示視窗。 圖6.2 新建專案視窗 (2)選擇“Designer”下的“SWT/JFace Java Project”項,單擊“下一步”,彈出如下圖6.3所示視窗。 圖6.3 建立Java專案視窗 (
最新版spark-2.2.0安裝教程
1.jdk的安裝;(java1.8) 2.hadoop安裝;(hadoop2.7.2) 3.scala安裝;(scala2.11.8) 4.spark安裝。(spark2.2.0) 0.環境:mac OS X 10.12 1.jdk的安裝:安裝java
010Editor(v8.0.1最新版)逆向_演算法分析及註冊機編寫(附可用key和原始碼)
010Editor(v8.0.1)逆向分析0x0軟體簡介010Editor是一款採用QT介面庫編寫的,相容多作業系統的十六進位制編輯軟體.功能強大,簡單易用.0x1逆向環境及工具系統環境:Window 7 32bit使用工具:OllyDbg,IDA本次測試版本為官方最新版:N
高仿百思不得姐(最新版4.5.6)
需要 screen 高仿 property rect society 多選 透明 nav 先上效果圖 1 2 3 4 5 6 7 8 9 10 11 本demo已經實現以下功能 音視頻播放器 啟動廣告 語音、圖片評論顯示 長文本收縮與展開切
浪潮ERP GS 6.0安裝教程
數據庫安裝 服務器 軟件包 操作系統 白皮書 浪潮 最近有學生問我浪潮GS6的安裝教程有沒有,我說浪潮安裝並不復雜,照著原版提供的教程安裝即可。 興趣起來,翻出軟件包找到,找了臺服務器重新安裝了一次,以此文記錄一下。 安裝模式二種: 一、單服務器模式:一體化安裝,一臺服務器上安裝數據
nginx 升級為最新版 nginx -1.12.0
nginx公司目前使用的nginx版本比較低(nginx-1.0.12),請網絡安全公司做了一下“遠程安全評估”,發現有下列漏洞: nginx URI處理安全限制繞過漏洞(CVE-2013-4547) Nginx ‘access.log‘不安全文件權限漏洞(CVE-2013-0337) nginx SSL會話
安裝最新版Mysql(APT方式安裝)
con nload 修改配置 http ini ref ges deb root 訪問網址:http://dev.mysql.com/downloads/repo/apt/ -> http://dev.mysql.com/doc/mysql-apt-repo-q
elasticsearch-5.6.0安裝錯誤摘記
5.6 需要 with oot 用戶組 pre nta arch exc [2017-09-17T06:00:22,511][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] uncaught except
《企業雲桌面實施》-小技巧-07-在DELL R930上為esxi 6.0安裝光纖網卡驅動inter XL710
雲計算 esxi xendesktop vsphere xenapp 項目問題:經常在群內聽人問,esxi中光纖網卡安裝後,沒有顯示,驅動不知道安裝?DELL R930服務器安裝了4張inter XL710的萬兆光纖網卡,沒有正常顯示出來。如下圖所示:解決方法:(有問題看後面聯系方式後,
在win10系統中安裝Visual C++ 6.0的具體方法
轉自: https://blog.csdn.net/qq_39235641/article/details/79102694 很多學C語言的同學很熟悉VC++6.0,但是在win10系統下,VC++6.0便無法開啟,報錯:0x0000142。這是因為漢化版
VC++6.0安裝番茄助手Visual Assist X和VC6LineNumberAddin的方法
Visual Assist X是一款非常好的Microsoft Visual Studio外掛,它可以完全整合到您的Microsoft開發環境中,升級了您的IDE,在不改變程式設計習慣的同時就可以感受到Visual Assist X為您帶來的好處。 VC6LineNumberAddin是一款
凝思6.0安裝vmware tools記錄
本文參考: https://blog.csdn.net/u013162548/article/details/45567681/ https://blog.csdn.net/qq920447939/article/details/79007980 1、從vmware選單中選擇安裝vmware tools
讓 Windows7 - 64bit 支援 VC++ 6.0 的解決方法(無法啟動此程式,因為計算機中丟失 MSVCRTD.dll。嘗試重新安裝該程式以解決此問題)
源地址:https://www.cnblogs.com/poissonnotes/p/4372136.html 無法啟動此程式,因為計算機中丟失 MSVCRTD.dll。嘗試重新安裝該程式以解決此問題。 我用的作業系統是Windows 7 -64bit,我把DLL下載以後按常
RK 6.0 安裝的三方apk生成的快捷圖示在第一頁
安裝的三方apk在桌面上預設是從第二頁(launcher id=1)開始檢測空位的,若想讓三方apk的快捷圖示生成在第一頁,需要修改它的預設值: packages/apps/Launcher3/src/com/android/launcher3/LauncherModel.java p
最新版azkaban-3.40.0原始碼解析
web上傳zip以及解析入庫 web服務上傳zip包 入口: azkaban.webapp.servlet.LoginAbstractAzkabanServlet.doPost(HttpServletRequest, HttpServletRes
[轉帖]VMware Vsphere 6.0安裝部署 (三) vCenter Server安裝
VMware Vsphere 6.0安裝部署 (三) vCenter Server安裝 2016年08月29日 14:59:14 dAng1r0Us 閱讀數:72942
[轉帖]VMware Vsphere 6.0安裝部署 (一) 總體部署架構
(一)總體部署架構本教程用於學習目的,力求詳盡的介紹安裝部署過程和各元件之間的關係,部署過程從最簡單的模型開始,系列文章按時間順序依次展開,每篇介紹一個元件。 開始階段,按照一臺物理伺服器,部署所有VMware元件的模型進行,這也是為了貼近大部分初學者在沒有就職於商業機構,缺乏實際測試,生產環境的情形下,利
最新版的Chrome 69.0 設定始終開啟flash而不是先詢問
## 69.0 之前的版本 ## 1、開啟 chrome://settings/content/flash 2、禁止網站執行Flash -> 改為“Ask (Default)” 3、允許 -> 新增 4、新增網站 ->
Hadoop2.6.0安裝 — 叢集
這裡寫點 Hadoop2.6.0叢集的安裝和簡單配置,一方面是為自己學習的過程做以記錄,另一方面希望也能幫助到和LZ一樣的Hadoop初學者,去搭建自己的學習和練習操作環境,後期的 MapReduce 開發環境的配置和 MapReduce 程式開發會慢慢更新出來,LZ也是邊學習邊記錄更新部落格,路人
Tomcat 6.0 安裝與啟動
轉載的連結地址:https://blog.csdn.net/u011955252/article/details/53466730 Tomcat的安裝 1 確認本機是否已安裝JRE或者JDK,可以通過在命令列中輸入java -version來檢視。 tomcat6需要JDK或者J