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

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

使用SWT開發用戶圖形界面

2019-11-18 14:52:51
字體:
來源:轉載
供稿:網友

    使用SWT開發用戶圖形界面SWT(Standard Widget Toolkit)是IBM推出的“基于java”的圖形界面開發庫,我之所以說它是“基于java”的意思是程序員編寫代碼的時候是使用java語言,事實上SWT的底層實現是C語言完成的。但是這些對程序員是透明的。

    我們使用SWT開發GUI程序的時候,直接用SWT API來寫。事實上很多java的代碼是通過JNI去掉用C代碼來實現的。針對不同的平臺每個類有不同的實現方式,這篇文章的目的不在于講述SWT的設計原理,假如你對這些感愛好的話可以參考http://www.eclipse.org/articles/Article-SWT-Design-1/SWT-Design-1.Html。

    下面開始介紹如何使用SWT,首先我假設你已經安裝了Eclipse3.0,當然其他的版本也可以,假如還沒有的話從www.eclipse.org上去下載。

  1. 運行Eclipse,切換到java透視圖下面,從Package eXPlore里面新建一個java PRoject。名稱為Test
  2. 在Libraries里面選擇Add external JARs來添加運行SWT所需要的類庫,這個和系統相關的,比如我在Windows xp下,地址為:D:/eclipse/plugins/org.eclipse.swt.win32_3.0.0/ws/win32/swt.jar。把它添加進來,建議做一個variables指向這個swt.jar文件,以后直接添加variables就可以了
  3. 編寫java代碼,例如
    import org.eclipse.swt.widgets.*;
    import org.eclipse.swt.*;
    public class SWTHello {
    public static void main(String[] args) {
    Display display = new Display();
    Shell shell = new Shell(display);
    Label label = new Label(shell, SWT.NONE);
    label.setText("Hello, World!");
    shell.pack();
    label.pack();
    shell.open();
    while(!shell.isDisposed())
    if(!display.readAndDispatch())
    display.sleep();
    display.dispose();
    label.dispose();
    }
    }
  4. 配置運行環境,由于SWT程序運行的時候要用到本機資源,假如你現在運行上面的程序的時候會出現錯誤,類似于java.lang.UnsatisfiedLinkError: no swt-win32-2133 in java.library.path”,因此你必須指定所需的DLL的位置,具體做法是:從菜單run->run切換到運行配置界面,選擇Arguments在VM Arguments里面寫入-Djava.library.path=<folder containing the SWT DLL>例如在我的機器上DLL的地址為D:/eclipse/plugins/org.eclipse.swt.win32_3.0.0/os/win32/x86。這樣每次運行都要配置顯得有點麻煩,所以建議你在環境變量PATH里面添加這個包括DLL的路徑。
  5. 運行程序,你會看到你的第一程序的效果 :) 我的感覺是挺不錯的,速度要比Swing/AWT快。

      關于如何使用SWT,請參考www.eclipse.org上面的相關文章,多看看AWT API,多寫一些代碼!



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 天镇县| 澳门| 南川市| 阿拉善左旗| 长寿区| 邵阳县| 镇雄县| 宁夏| 宜兴市| 霸州市| 都安| 连南| 镇巴县| 德格县| 会同县| 东辽县| 漳平市| 绵阳市| 兴业县| 顺义区| 九龙城区| 鄂温| 北碚区| 香港| 独山县| 德清县| 上蔡县| 泽州县| 渭源县| 榆社县| 福建省| 吴桥县| 萍乡市| 柳河县| 德阳市| 冀州市| 高安市| 安西县| 徐汇区| 克山县| 清镇市|