• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            為生存而奔跑

               :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
              271 Posts :: 0 Stories :: 58 Comments :: 0 Trackbacks

            留言簿(5)

            我參與的團(tuán)隊(duì)

            搜索

            •  

            積分與排名

            • 積分 - 326969
            • 排名 - 74

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            0.序言

                    還是老風(fēng)格,從頭寫(xiě)些基本的東西,幫助自己,也幫助正處于困惑中的別人。今天介紹的是Eclipse下的SWT的配置過(guò)程。自己前兩天要做個(gè)項(xiàng)目,配置了半天都不正確,后來(lái)慢慢總結(jié)了一下,不同環(huán)境配置的方法可能略有差別吧。
            1.什么是SWT
                    用java的人一定都知道AWT和Swing,而SWT(Standard Widget Toolkit)則是由Eclipse項(xiàng)目組織開(kāi)發(fā)的一套完整的圖形界面開(kāi)發(fā)包,雖然當(dāng)初僅僅是IBM為了編寫(xiě)Eclipse的IDE環(huán)境才編寫(xiě)的一套底 層圖形界面 API,但是隨著Eclipse的大范圍使用,人們也開(kāi)始對(duì)這套GUI開(kāi)發(fā)包做了深入的研究,并且不少人都開(kāi)始轉(zhuǎn)向SWT的使用。也許有人會(huì)問(wèn),既然有了 Swing, 那為什么還要SWT?答案很簡(jiǎn)單,因?yàn)槿藗兊睦砟畈煌WT的原理是根據(jù)運(yùn)行者的操作系統(tǒng)不同調(diào)用JNI來(lái)完成圖形界面的繪制的,如果你用的是 Windows,那么建立的窗口就是windows風(fēng)格的,還可以用XP的皮膚,如果是Linux或者M(jìn)acOS的話(huà),則在代碼不改變的情況下,繪制出相 應(yīng)風(fēng)格的界面。而Swing則是完全從底層開(kāi)始自己“手繪”界面的,這也就導(dǎo)致了速度比較慢和工人的“風(fēng)格詭異”的問(wèn)題。當(dāng)然,由于Sun的強(qiáng)大推動(dòng)力和 AWT/Swing的普及,很多人仍然在使用Swing作為首選的GUI開(kāi)發(fā)工具包。引用一句話(huà)做比喻:Swing就像Java決定不通過(guò)操作系統(tǒng)來(lái)實(shí)現(xiàn) 原生的IO,而是通過(guò)磁頭馬達(dá)API自己來(lái)讀磁盤(pán)的扇區(qū)。Swing基本上就是這樣的,它拿著個(gè)底層的“paint(Graphics)”方法,自己來(lái)繪 制所有的窗口組件。
            2.下載與安裝
                    Eclipse本身就自帶了SWT的相關(guān)jar包,所以不用下載,除非你想看看SWT的源碼,當(dāng)然這對(duì)于開(kāi)發(fā)者來(lái)說(shuō)是很有好處的。另外,如果不喜歡自己手 寫(xiě)GUI代碼的話(huà)就去下載一個(gè)可視化開(kāi)發(fā)插件吧,目前比較常用的是WindowBuilder Pro(原來(lái)的swt designer),http://www.instantiations.com/windowbuilderpro/左側(cè)點(diǎn)Download里面就可以下載,根據(jù)不同的Eclipse版本,選擇相應(yīng)的文件,必須要說(shuō)明的,這是一個(gè)商業(yè)軟件,需要注冊(cè)(這也就以為著有注冊(cè)機(jī)可以下載,注冊(cè)機(jī)的地址就不多說(shuō)了,上網(wǎng)搜一下就可以了)。下載完成后,安裝即可。
            3.配置
                    我下載的是zip版,解壓縮之后直接拷貝到插件目錄下的,所以配置起來(lái)有些麻煩,之前貌似用過(guò)一個(gè)二進(jìn)制安裝程序版的,安裝完之后基本上不需要配置就可以用了。這里講解一下我配置的過(guò)程。
                    打開(kāi)Eclipse,新建,在新建向?qū)е校业絊WT/JFace Java Project,單擊Next。

            接下來(lái)輸入項(xiàng)目名稱(chēng),選擇JRE(一般默認(rèn)即可),單擊Next,在這一步中,選中Libraries選項(xiàng)卡,單擊Add External JARs,添加外部jar包。

            這里一共要添加6個(gè),在你的Eclipse的插件(plugins)目錄中,分別是:
            org.eclipse.swt.win32.win32.x86_3.2.1.v3235.jar;
            org.eclipse.swt_3.2.1.v3235e.jar;
            org.eclipse.core.commands_3.2.0.I20060605-1400.jar;
            org.eclipse.jface.text_3.2.1.r321_v20060810.jar;
            org.eclipse.jface_3.2.1.M20060908-1000.jar;
            org.eclipse.equinox.common_3.2.0.v20060603.jar
            根據(jù)版本不同,文件名的數(shù)字部分可能會(huì)有些不同,添加好后就可以單擊finish了。
                    這時(shí)就建立好一個(gè)SWT項(xiàng)目了,但是別著急,如果這時(shí)按照Run as Java Application的形式運(yùn)行你的SWT程序的話(huà)很可能會(huì)提示:Exception in thread "main" java.lang.UnsatisfiedLinkError: no swt-win32-3235 in java.library.path。這是由于沒(méi)有導(dǎo)入SWT原生庫(kù)的緣故。因此我們要右鍵單擊項(xiàng)目,選擇Import,接下來(lái)選擇General-〉 File System來(lái)導(dǎo)入它,這個(gè)swt-win32-3235以dll文件的形式存在于..\MyEclipse\eclipse\plugins \org.eclipse.swt.win32.win32.x86_3.2.1.v3235中,通過(guò)Browse按鈕選擇這個(gè)目錄,然后在窗口左邊選中 這個(gè)目錄,在右邊的文件中選中swt-win32-3235.dll這個(gè)文件,finish就可以了。


            4.測(cè)試
                    在新建好的項(xiàng)目中單擊右鍵,選擇新建,Designer->JFace->ApplicationWindow,填入新建的類(lèi)名稱(chēng)和包就可以 新建一個(gè)ApplicationWindow了,系統(tǒng)會(huì)自動(dòng)建立好相應(yīng)的代碼框架,選擇Run as Java Application,就可以運(yùn)行這個(gè)自動(dòng)生成的SWT程序了。
            5.結(jié)束語(yǔ)
                    說(shuō)實(shí)在的,SWT有很多值得研究的東西,包括Eclipse的插件開(kāi)發(fā)相關(guān)技術(shù),當(dāng)然以后有時(shí)間會(huì)把學(xué)習(xí)心得寫(xiě)出來(lái)的。這篇文章只是簡(jiǎn)單的介紹了SWT的配置過(guò)程,如果需要了解SWT相關(guān)技術(shù)可以查詢(xún)相關(guān)資料。
            posted on 2009-10-20 11:00 baby-fly 閱讀(7996) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): Java
            久久精品国产AV一区二区三区| 日韩精品久久久久久| 久久国产精品久久久| 亚洲国产成人久久综合一区77| 国产精品一区二区久久| 伊人久久精品无码av一区| 国产亚州精品女人久久久久久 | 久久99国产综合精品| 久久午夜免费视频| 欧美国产成人久久精品| 久久亚洲精品无码VA大香大香| 久久夜色精品国产欧美乱| 久久国产欧美日韩精品| 精品久久久久久中文字幕大豆网| 97久久精品无码一区二区天美 | 久久精品视频网| 国产精品久久久久jk制服| 好属妞这里只有精品久久| 久久夜色精品国产亚洲| 天天久久狠狠色综合| 久久av高潮av无码av喷吹| 婷婷久久综合| 亚洲精品tv久久久久久久久| 久久99国内精品自在现线| 国产精品欧美亚洲韩国日本久久| 91视频国产91久久久| 国产精品日韩深夜福利久久 | 久久久这里有精品| 久久精品夜夜夜夜夜久久| 久久精品国产亚洲一区二区| 狠狠精品久久久无码中文字幕| 久久精品国产精品亚洲下载| 亚洲精品午夜国产va久久| 亚洲精品乱码久久久久久久久久久久 | 久久久黄片| 久久久久亚洲AV无码永不| 99久久伊人精品综合观看| 亚洲精品无码成人片久久| 久久涩综合| 久久综合九色综合久99| 亚洲AV无码久久寂寞少妇|