小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

SWT/JFace開發(fā)入門指南之搭建開發(fā)環(huán)境

 @IT小小鳥@ 2012-01-07

SWT/JFace開發(fā)入門指南之搭建開發(fā)環(huán)境

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

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

  ·設(shè)定swt以及JFace的開發(fā)環(huán)境
  ·swt的一些簡單部件(widget)介紹
  ·JFace的一些入門性介紹
  ·swt和JFace的事件模式
  ·通過一些簡單的例子說明如何利用swt和JFace編寫圖形化應(yīng)用程序

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

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

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

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

  延伸閱讀

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

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

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

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

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

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

  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工程。

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

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

  ·org.eclipse.swt_win32.x86.3.x.x.jar

  ·org.eclipse.jface_3.x.x.jar

  ·org.eclipse.core.runtime_3.x.x.jar

  ·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導入進來。當然你可以有自己的做法。

  點擊放大此圖片
  圖 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)的對話框中找到j(luò)ava.library.path

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

  點擊放大此圖片
  圖 2

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

  Hello,World!

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

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

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

  
  圖 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沒有正常工作,最好能夠按照前面的說明重新配置一下。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多