<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    The Spark of Thinking

    Focus on Eclipse Tools.

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      3 隨筆 :: 27 文章 :: 4 評論 :: 0 Trackbacks

    寫在前面的話

    終于決定提起筆來寫一篇關(guān)于 swt JFace 編程的文章。在開始之前,我想先介紹一下你能夠從將要出現(xiàn)的這一系列文章里得到什么,以及更重要的,你不能得到什么。我們的時間是如此之重要,以至于我們很難容忍把它浪費在自己不關(guān)心的事情上。

    因為我剛開始寫,所以到底這些文章會分成幾次發(fā)布出來,也很難講。但是我心里大體有這樣一個提綱。也就是說,我打算介紹以下方面的內(nèi)容:

    l ???????? 設(shè)定 swt 以及 JFace 的開發(fā)環(huán)境

    l ???????? swt 的一些簡單部件( widget )介紹

    l ???????? JFace 的一些入門性介紹

    l ???????? swt JFace 的事件模式

    l ???????? 通過一些簡單的例子說明如何利用 swt JFace 編寫圖形化應(yīng)用程序

    我還要說明一下你不能從本文中得到的信息,這些信息包括:

    l ???????? swt JFace 相關(guān)內(nèi)容非常深入的介紹:正如你從題目中了解到的,本文的定位是“入門”,也就是說假定的讀者是那些對 swt JFace 開發(fā)沒有什么了解的人。所以我并不打算進行一個深入的介紹。因為我相信在入門之后,他們能夠找到更好的資料(此外,我可能會寫另外一個系列文章來介紹)。

    l ???????? eclipse 的使用:我假定你在讀這篇文章的時候已經(jīng)對 eclipse 有所了解,所以不會解釋到具體 eclipse 如何使用。

    l ???????? eclipse 插件開發(fā):雖然 eclipse 插件開發(fā)和本文內(nèi)容有著千絲萬縷的聯(lián)系,我決定還是不把它列為介紹的內(nèi)容。這方面,你仍然可以找到相當多的資料供參考。

    與作者聯(lián)系

    如果你希望和我聯(lián)系的話,你可以發(fā) email jayliu@mail.csdn.net

    延伸閱讀

    你不知道什么是 eclipse 么?你可以打開 http://www.eclipse.org ,這是 eclipse 的官方站點。

    如果你希望對 eclipse 功能有詳細的了解,你可以讀一下這本書《 CONTRIBUTING TO ECLIPSE 》。

    你不知道什么是 swt/JFace 么?你可以看一下 Wikipedia 中的介紹: http://en.wikipedia.org/wiki/Swt

    http://en.wikipedia.org/wiki/Eclipse_%28computing%29

    你對 eclipse,swt 的歷史感興趣么?我強烈推薦你看一下這篇八卦: http://www.csdn.net/news/newstopic/20/20433.shtml

    如果你對 eclipse 的一些新聞比較感興趣的話,可以關(guān)注一下大胃的 blog: http://m.tkk7.com/sean/

    最后你可以從一個地方得到所有你想要的東西: http://www.google.com

    OK ,介紹到此為止,下面我開始正文:

    Hello,world!: 搭建一個 swt/JFace 開發(fā)環(huán)境

    在前面我曾經(jīng)提到過:我們假定你對 eclipse 開發(fā)有一些了解。所以在這一節(jié)中,我將示范如何搭建一個 swt/JFace 開發(fā)環(huán)境,并且用一個老掉牙的 Hello,world! 程序作為示范。

    建立開發(fā)環(huán)境

    你完全可以不使用 eclipse ,而是使用別的 IDE 來進行開發(fā),但是你需要有 swt/JFace 的一些庫文件。

    為了能夠進行正常的 swt/JFace 開發(fā),你需要做以下工作:

    第一步 :建立一個 Java 工程:因為這個是大家都非常熟悉的,所以就不再贅述,你可以建立一個任何名字的 Java 工程。

    第二步 :導(dǎo)入 swt 以及 JFace 的庫文件。這也就意味著:將 swt/JFace 相關(guān)的庫文件導(dǎo)入到工程的 classpath 中去。

    需要的庫文件有哪些呢?打開 eclipse 安裝目錄下的 plugins 文件夾,我們需要找到以下 jar 文件:

    l ???????? org.eclipse.swt_3.x.x.jar

    l ???????? org.eclipse.jface_3.x.x.jar

    l ???????? org.eclipse.core.runtime_3.x.x.jar

    l ???????? org.eclipse.ui.workbench_3.x.x.jar

    這就是我們搭建一個基本 swt/JFace 程序所需要基本的一些庫文件了。其中 3.x.x 視你所使用的 eclipse 版本而定,譬如我的 eclipse 版本是 3.1M6 ,這些 3.x.x 就是 3.1.0 。將他們加入你程序的 classpath 中。

    為了更加清楚地說明如何做,你可以看一下下面的圖 1 。這是我在 eclipse 的做法:打開工程的 properties 對話框,然后選擇 Java Build Path 中的 Libraries 選項卡,將這些 jar 導(dǎo)入進來。當然你可以有自己的做法。

    設(shè)定classpath

    1

    第三步 :為你的 java 程序添加本地庫文件。如果你使用 windows 的話,你可能注意到在 eclipse plugins 目錄下還有一個 org.eclipse.swt.win32_3.x.x.jar ,將這個 jar 解壓以后在 os/win32/x86 目錄下有幾個 dll 文件。這幾個 dll swt 通過 JNI 訪問 windows 本地 API 提供了接口,我們需要將使 java 程序在啟動時候即能夠訪問它。你可以有多種辦法實現(xiàn)這個目的:

    最簡單的辦法就是直接把這幾個文件拷貝到你 jre bin 目錄下

    你也可以設(shè)定環(huán)境變量時候,在 PATH 中加入這幾個 dll 文件的目錄。

    你還可以在運行程序時候指定 java.library.path 為這幾個 dll 所在的目錄,在 eclipse 中,如果你打開 Help 菜單中 About eclipse Platform ,然后在出現(xiàn)的對話框中選擇 configuration details 按鈕,你可以在接下來出現(xiàn)的對話框中找到 java.library.path

    配置 java.library.path 你還有另外一種辦法,就是在最后運行程序的時候,從 Run 菜單中選擇 Run As.. 而不是 Run As Java Application ,填寫好必要的其他參數(shù)以后打開 Argument 選項卡,然后在 VM Argument 輸入框中填寫該參數(shù)為 dll 文件的路徑,如圖 2 所示

    vm參數(shù)設(shè)定

    2

    通過這三步工作,你就可以編寫 swt/JFace 程序了。

    ? ?

    ? ?

    ?

    Hello,World!

    下面的內(nèi)容就是我們 Hello,world! 的示例。首先建立一個類,我將這個類取名為 HelloSwt ,在我的工程中,它位于 swtjfacesample 包的下面。類的內(nèi)容如下:

    ?1 package?swtjfacesample;
    ?2
    ?3 import?org.eclipse.swt.SWT;
    ?4 import?org.eclipse.swt.widgets.Display;
    ?5 import?org.eclipse.swt.widgets.Shell;
    ?6 import?org.eclipse.swt.widgets.Text;
    ?7
    ?8 public ? class ?HelloSwt? {
    ?9 ???? /* *
    10 ?????*?Hello,world!
    11 ?????*?
    12 ?????*?@param?args
    13 ????? */

    14 ??????? public ? static ? void ?main(String[]?args)? {
    15 ????????Display?display? = ? new ?Display();
    16 ????????Shell?shell? = ? new ?Shell(display);
    17 ????????
    18 ????????Text?helloText? = ? new ?Text(shell,?SWT.CENTER);
    19 ????????helloText.setText( " Hello,World! " );
    20 ????????helloText.pack();
    21 ????????
    22 ????????shell.pack();
    23 ????????shell.open();
    24
    25 ???????? while ?( ! shell.isDisposed())? {
    26 ???????????? if ?( ! display.readAndDispatch())? {
    27 ????????????????display.sleep();
    28 ????????????}

    29 ????????}

    30 ????????display.dispose();
    31
    32 ????}

    33 }

    34

    代碼段 1

    關(guān)于這段代碼的內(nèi)容,我們會在下面的內(nèi)容中進行詳細介紹。現(xiàn)在我們可以嘗試著運行一下,確定已經(jīng)編譯完成后從 eclipse Package Explorer 中選中這個類然后點右鍵,在彈出的菜單中你會看到 Run As ,進一步選中這一項,然后在二級菜單中選“ Run As Java Application ”,如果運行正常的話你會看到如圖 3 的運行結(jié)果:

    Hello,World!

    3

    Q&A: 出現(xiàn)了問題怎么辦

    Q: 我的程序編譯時候出現(xiàn)了錯誤!

    A: 如果是提示諸如 Text,Display 這些類不能夠被成功引入,那么你需要檢查一下是否我們前面提到的 jar 都已經(jīng)被成功引入到你的 classpath

    Q: 編譯成功了但是不能運行,出現(xiàn)了異常

    A: 檢查一下異常信息,如果你的異常信息類似這樣:

    Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-win32-3128 in java.library.path

    ...

    的話,那說明我們在前面第三步提到的那些 dll 沒有正常工作,最好能夠按照前面的說明重新配置一下。



    Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=367757

    posted on 2006-07-20 17:31 The Spark of Thinking 閱讀(186) 評論(0)  編輯  收藏 所屬分類: SWT/JFace
    主站蜘蛛池模板: 日本视频免费高清一本18| 成年在线观看网站免费| 亚洲国产成人91精品| 午夜老司机免费视频| 久久WWW免费人成—看片| 亚洲首页在线观看| 四虎国产精品免费久久影院| a级毛片高清免费视频就| 亚洲免费视频观看| 亚洲熟伦熟女新五十路熟妇 | 国产99视频精品免费视频76| 亚洲av最新在线网址| 麻豆成人精品国产免费| 在线看片免费人成视频久网下载| 亚洲导航深夜福利| 精品亚洲一区二区三区在线播放| ww4545四虎永久免费地址| 处破女第一次亚洲18分钟| 亚洲电影中文字幕| 国产性生交xxxxx免费| 2021精品国产品免费观看| 亚洲AV日韩AV永久无码色欲 | 亚洲国产国产综合一区首页| 国产成人免费a在线视频app| 曰批全过程免费视频播放网站| 日本亚洲中午字幕乱码| 亚洲午夜免费视频| 亚洲精品人成无码中文毛片| 一二三四在线播放免费观看中文版视频 | 69成人免费视频| 精品无码国产污污污免费网站国产| 亚洲成a人片在线不卡| 亚洲激情在线视频| 亚洲日韩在线中文字幕第一页 | 97性无码区免费| 91免费福利视频| 一级片在线免费看| 亚洲AV无码专区在线电影成人| 亚洲黄色片在线观看| 久久综合图区亚洲综合图区| 伊人亚洲综合青草青草久热|