SmileFace
          與java一起走過的日子
          posts - 41,  comments - 8,  trackbacks - 0
          SWT是一個IBM開發的跨平臺GUI開發工具包。一個SWT應用程序的基本組成部分為顯示界面(Display)、命令界面(Shell,使命令進入并使運行初始化)和窗口部件(Widgets)。Display負責管理事件循環和控制UI線程和其他線程之間的通訊。Shell是應用程序中被操作系統窗口管理器管理的窗口。每個SWT應用程序至少需要一個Display和大于等于1個的Shell實例。

          如果一個應用程序使用了多個線程,那么每個線程都使用的是Display對象分配給它自己的實例。程序員可以使用靜態方法Display.getCurent()來得到Display對象的當前活動的實例。

            Shell用于在特定的操作系統中表現窗口。Shell有兩種類型。第1種是高層shell,它是Display的子窗口,同時它也是一個主窗口。第2類是對話shell,這種shell要依賴于其他的shell窗口存在。shell窗口最終成為上述那種類型,要看在創建shell時傳遞給shell構造函數的是什么風格位(style bits)。一個shell的默認值是DialogShell。也就是說,如果不帶參數,那默認就是一個對話shell。而如果給參數賦予了一個Display對象,則該shell將是一個高層shell。

            進行SWT開發前的環境設置

            為了進行SWT應用開發,你需要把SWT庫添加到類路徑(classpath)上,并設置必要的環境變量。

          ??????? 首先,你要在ECLIPSE_HOMEeclipsepluginsorg.eclipse.swt.win32_2.1.0wswin32目錄下找到swt.jar庫文件。注意這里的“org.eclipse.swt.win32_2.1.0”目錄是和Eclipse的版本有關的。實在找不到你就用文件搜索功能吧。然后依次打開下面窗口Project-〉Properies-〉JavaBuildPath-〉Libraries-〉Add Variable -〉 Eclipse Home -〉Extend將swt.jar文件加到類路徑中。

          接著,你肯定想編譯這個SWT應用了。但是會出現下面所示的運行異常。出現這個異常的原因是swt.jar庫使用的是原生庫。你需要設置java.library.path環境變量來使用Java中的原生庫。

            控制臺(Console )的輸出如下:

          ??? java.lang.UnsatisfiedLinkError: no swt-win32-2136 in java.library.path?
          ??? at java.lang.ClassLoader.loadLibrary(Unknown Source)?
          ??? at java.lang.Runtime.loadLibrary0(Unknown Source)?
          ??? at java.lang.System.loadLibrary(Unknown Source)?
          ??? at org.eclipse.swt.internal.Library.loadLibrary(Library.java:108)?
          ??? at org.eclipse.swt.internal.win32.OS.〈clinit〉(OS.java:46)?
          ??? at org.eclipse.swt.widgets.Display.internal_new_GC(Display.java:1291)?
          ??? at org.eclipse.swt.graphics.Device.init(Device.java:547)?
          ??? at org.eclipse.swt.widgets.Display.init(Display.java:1316)?
          ??? at org.eclipse.swt.graphics.Device.〈init〉(Device.java:96)?
          ??? at org.eclipse.swt.widgets.Display.〈init〉(Display.java:291)?
          ??? at org.eclipse.swt.widgets.Display.〈init〉(Display.java:287)?
          ??? at com.swtdesigner.trytry.main(trytry.java:24)?
          ??? Exception in thread "main"

            按下面的步驟設置java.library.path變量:依次打開Run-〉 Run...-〉 Java Applicaton-〉 "Project" -〉Arguments -〉 VM Arguments。在“VM Arguments”中輸入

          -Djava.library.path=c:eclipsepluginsorg.eclipse.swt.win32_2.1.0oswin32?

            注意要輸入你自己的swt.jar所在的路徑。
          posted on 2006-05-25 12:11 SmileFace 閱讀(646) 評論(1)  編輯  收藏 所屬分類: Java-Studying

          FeedBack:
          # re: SWT基礎
          2007-10-17 09:28 | 過之人
          SWT的全稱是什么  回復  更多評論
            

          <2007年10月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          文章檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 望江县| 黄浦区| 志丹县| 筠连县| 左云县| 武平县| 新巴尔虎右旗| 米林县| 龙泉市| 汝南县| 精河县| 三亚市| 垣曲县| 和龙市| 扬州市| 建阳市| 洛阳市| 丹阳市| 黎川县| 扶余县| 土默特左旗| 信阳市| 上栗县| 屏东市| 天等县| 白城市| 凯里市| 惠来县| 寻甸| 松滋市| 滁州市| 会同县| 东丽区| 砚山县| 灵寿县| 利辛县| 随州市| 阿拉尔市| 青阳县| 如皋市| 翁牛特旗|