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

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

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

    幻境
    We are extremely fortunate not to know precisely the kind of world we live in
    posts - 22,comments - 39,trackbacks - 0

    SWT/Jface開發入門指南

    寫在前面的話

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

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

    l         設定swt以及JFace的開發環境

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

    l         JFace的一些入門性介紹

    l         swtJFace的事件模式

    l         通過一些簡單的例子說明如何利用swtJFace編寫圖形化應用程序

     

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

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

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

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

    與作者聯系

    如果你希望和我聯系的話,你可以發emailjayliu@mail.csdn.net

    我的blog:http://m.tkk7.com/jayliu/

    延伸閱讀

    你不知道什么是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的一些新聞比較感興趣的話,可以關注一下大胃的blog: http://m.tkk7.com/sean/以及kukoo的blog:http://m.tkk7.com/kukoo/

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

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

    Hello,world!:搭建一個swt/JFace開發環境

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

    建立開發環境

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

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

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

    第二步:導入swt以及JFace的庫文件。這也就意味著:將swt/JFace相關的庫文件導入到工程的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/eclipse程序所需要基本的一些庫文件了。其中3.x.x視你所使用的eclipse版本而定,譬如我的eclipse版本是3.1M6,這些3.x.x就是3.1.0。將他們加入你程序的classpath中。

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

    o_setUserLib.JPG


    1

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

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

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

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

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

    o_setuplib2.JPG
    2

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

     

    Hello,World!

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

     1package swtjfacesample;
     2
     3import org.eclipse.swt.SWT;
     4import org.eclipse.swt.widgets.Display;
     5import org.eclipse.swt.widgets.Shell;
     6import org.eclipse.swt.widgets.Text;
     7
     8public 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

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

    o_helloworld.JPG
    3

    Q&A:出現了問題怎么辦

    Q:我的程序編譯時候出現了錯誤!

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

    Q:編譯成功了但是不能運行,出現了異常

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

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

    ...

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

    posted on 2005-05-17 08:45 閱讀(13840) 評論(4)  編輯  收藏 所屬分類: 編程相關

    FeedBack:
    # re: SWT/Jface開發入門指南(一)
    2006-07-18 02:52 | asa
    P;  回復  更多評論
      
    # re: SWT/Jface開發入門指南(一)
    2006-09-25 10:01 | #
    It's very detailed, thanks very much!  回復  更多評論
      
    # re: SWT/Jface開發入門指南(一)
    2007-11-07 18:21 | lzm
    extremely useful/.......  回復  更多評論
      
    # re: SWT/Jface開發入門指南(一)
    2012-04-12 00:18 | 彼岸
    你 妹 的,四五六七哪去了??  回復  更多評論
      
    主站蜘蛛池模板: 亚洲人成在线免费观看| 国产成人免费ā片在线观看老同学| 91香蕉国产线在线观看免费 | 精品熟女少妇a∨免费久久| 国产亚洲婷婷香蕉久久精品 | www.亚洲色图.com| 国产黄色片免费看| 亚洲精品无码专区久久久| 国产在线观看xxxx免费| 久久久亚洲欧洲日产国码农村| 久久免费观看国产精品| 亚洲第一网站免费视频| 亚洲中文字幕无码永久在线| 91av免费在线视频| 亚洲AV无码欧洲AV无码网站| 亚洲视频免费在线观看| 国产精品久久亚洲不卡动漫| 日本不卡视频免费| 国产黄色免费观看| 亚洲欧洲综合在线| 国产精品无码素人福利免费| 男女一进一出抽搐免费视频| 久久亚洲中文字幕精品有坂深雪| 很黄很色很刺激的视频免费| 无遮挡呻吟娇喘视频免费播放| 亚洲中文字幕在线观看| a毛片基地免费全部视频| 免费一级做a爰片久久毛片潮| 久久久久亚洲精品无码系列| 日韩精品无码区免费专区| 美女视频黄频a免费| 亚洲国产综合专区在线电影 | a毛片全部免费播放| 亚洲成人黄色在线观看| 国产免费av片在线无码免费看| 91免费国产视频| 亚洲成av人在线观看网站| 337p日本欧洲亚洲大胆裸体艺术| 99久久99这里只有免费费精品| 成人嫩草影院免费观看| 亚洲成人免费电影|