




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、用Eclipse進(jìn)行可視化Java界面設(shè)計(jì)2005-04-01 11:58 作者:陳先波出處:csdnblog責(zé)任編輯:方舟前言最近,Eclipse開源項(xiàng)目終于推出了期待已久的Visual Editor Project(VEP) 。VE項(xiàng)目使得功能強(qiáng)大的eclipse平臺在java開發(fā)方面又增加了一個(gè)可視化java組件開發(fā)利器。它讓java開發(fā)者再也不用依賴其它的IDE產(chǎn)品來做GUI界面方面的工作。所有的開發(fā),從應(yīng)用程序界面到業(yè)務(wù)邏輯的開發(fā),現(xiàn)在都可以在eclipse平臺上完成。本文將引導(dǎo)開發(fā)者如何安裝配置并使用 Visual Editor 。關(guān)于 Visual Editor開始介紹之前,來看
2、一個(gè)筆者用 Visual Editor(以下簡稱VE)設(shè)計(jì)的一個(gè)java程序界面:怎么樣,其可視化的界面設(shè)計(jì),一點(diǎn)也不遜于其它的Java可視化界面開發(fā)工具。Visual Editor 是一個(gè)開源的 eclipse編輯器。它同 JDT、PDE等其它eclipse的工具項(xiàng) 目一樣,是一個(gè)全新的eclipse工具項(xiàng)目。它可以進(jìn)行可視化的編輯 java GUI程序,也能編 輯可視化的 Java Bean 組件。它能與eclipse的Java Editor集成在一起,當(dāng)在 Visual Editor 中編輯圖形界面時(shí),會立即反饋到 java Editor中的代碼。反之亦然。VE是一個(gè)可視化開發(fā)的一個(gè)fr
3、amework,當(dāng)前版本的 VE是0.5.0RC1版,本版本的VE支持Swing和AWT的可視Java組件開發(fā)。由于這個(gè) framework設(shè)計(jì)的具有通用性, 它也可以很容易的實(shí)現(xiàn) C+或其它語言下可視化開發(fā)。其將來的版本(從1.0開始),將會支持SWT的開發(fā)。更多的關(guān)于 Visual Editor的信息,請看參考資料的相關(guān)鏈接。下載與安裝由于Visual Editor是用純java編寫的,所以它應(yīng)該可以在任何操作系統(tǒng)上運(yùn)行。但當(dāng) 前的VE版本是0.5.0RC1,只在windows和linux平臺上經(jīng)過測試。所以如果你使用的是 這兩種操作系統(tǒng)之外的其它操作系統(tǒng),你應(yīng)該先閱讀 VE的readme
4、文件,安裝和使用 VE 前,必須先安裝以下版本的eclipse和相關(guān)支持類庫:Eclipse build 2.1.2 (build page) (dow nl oad zip)EMF build 1.1.1: (build page) (download zip)GEF Build 2.1.2: (build page) (download zip)為了方便中國的開發(fā)者,eclipse也提供了一個(gè)中文語言包,下載安裝后,elcipse環(huán)境將變成全中文的界面。在本文中,筆者用的eclipse也安裝了此中文語言包。之后就可以從以下地址下載 Visual Editor 了:http:/dow nl
5、/vep下載后的VE是一個(gè)zip檔案,請將其壓縮包中plugins和features目錄下的內(nèi)容解壓到eclipse安裝目錄的相應(yīng)目錄中即可。如果你的eclipse是運(yùn)行著的,請關(guān)閉并重新啟動eclipse 。開始一個(gè)設(shè)計(jì)任務(wù)Visual Editor的使用。在這個(gè)現(xiàn)在,所有程序安裝完成,筆者將用一個(gè)例子,來講解 例子中,筆者要設(shè)計(jì)一個(gè)郵件發(fā)送面板,下面是它的草圖:FromSutj ec t此面板包括發(fā)送人,接收人,郵件主題,郵件內(nèi)容以及發(fā)送和清除按鈕,進(jìn)入 Visual Editor啟動eclipse平臺。剛開始,你可能覺得eclipse并沒有什么變化。先別急,請
6、新建一個(gè)項(xiàng)目,點(diǎn)擊”文件"菜單下的"新建"子菜單,選擇并建立一個(gè)新的"java項(xiàng)目”。然后在工具欄上的"新建Java類”圖標(biāo)上,點(diǎn)擊右邊的小箭頭,將展開如下圖的菜單:_!礫 dK吉念類念接口測試羸例總 Visual Class在此菜單上,多了一個(gè) "Visual Calss"的子菜單,這就是進(jìn)入 Visual Editor的入口之一。點(diǎn)擊"Visual Class",彈出如下的對話框:在此對話框中,要求輸入類的名稱(如標(biāo)記O1)位置),在這里我們輸入"MessagePanel", 以及
7、你想要繼承的可視類(如標(biāo)記02位置)。你可以選擇繼承來自swing或AWT的任何界面組件,如要繼承其它類型的類,請選擇 "other"并點(diǎn)擊”瀏覽"按鈕來選擇你要繼承的類。 在此處,我們選擇"panel"和Swing選項(xiàng),繼承JPanel,然后點(diǎn)擊”完成"按鈕,大家就可以 見到Visual Editor 的界面了:由于eclipse工作臺高度的可定制性,讀者現(xiàn)在看到的界面并非VE初始的布局,而是經(jīng)過筆者按喜好的方式重新布局過的透視圖,但是這并不會影響讀者理解本文內(nèi)容。如圖中1所示,是VE的工具面板,提供"選取"、&
8、quot;框選"等選擇工具。還有Swing組件, Swing容器,Swing菜單以及 AWT控件設(shè)計(jì)工具。在面板下方有"Design"和"Source"兩個(gè)頁簽,用來切換設(shè)計(jì)界面和Java源代碼視圖。圖中2是VE的工具欄,包括工具面板中的一些常用按鈕。圖中3是"Java Bea ns"視圖和"屬性"視圖,兩個(gè)視圖可以切換顯示。"Java Bea ns"視圖用樹形結(jié)構(gòu)即時(shí)顯示設(shè)計(jì)中用到的各種Java Bean組件層次。而”屬性"視圖顯示顯示當(dāng)前所選中的Java bean組件的屬
9、性值列表,你可以在此列表中編輯各項(xiàng)Java Bean的屬性值。圖中灰色矩形區(qū)域即是我們最開始選擇的JPanel,所有的工作就從它開始。擺設(shè)Swing組件做過Swing GUI界面設(shè)計(jì)的人都知道,Java應(yīng)用程序界面上的元素位置是用LayoutManager 來管理的。JPanel的預(yù)設(shè)布局管理器是 FlowLayout 。 VE目前支持所有的傳統(tǒng)的布局管理器(這里所指的傳統(tǒng)布局管理器是指JDK1.4之前的布局管理器??上У氖荲E目前還不支持從 JDK1.4開始有的SpringLayout )。JPanel,再切換到"屬性”視圖,找到要設(shè)置JPanel的layout,請先在設(shè)計(jì)界面中選
10、中"layout"屬性,如下圖所示:石茅禺題 X展性rsenabledtruefontgo見 plain, 11foregroundCokwibilack.H >layoutFlowL ayout 丄alignmentCENTERyertical 導(dǎo)Elorationo,aTJi圖中顯示了 JPanel的預(yù)設(shè)LayoutManager。在"layout"屬性的右邊,可以通過點(diǎn)擊組 合框來指定不同類型的LayoutManager。不同的LayoutManager會在屬性編輯器中顯示不同的參數(shù),如果選擇GridLayout,屬性編輯器中的layout屬
11、性將顯示另外幾種不同的參數(shù), 如下圖如示:先前的 FlowLayout 的三個(gè)參數(shù) alignment, horizontal gap禾口 vertical gap 變成了GridLayout 的另外四種參數(shù): colu mns, horiz on tal gap, rows, vertical gap 。為了方便設(shè)計(jì),筆者在這個(gè)例子中將采用null,即不用任何LayoutManager來設(shè)計(jì)界面。布局設(shè)置好后,就可以在JPanel上擺置各種Swing組件了。按照我們最開始設(shè)計(jì)的草個(gè)應(yīng)該是TextArea,用于編輯多行文本。我們在工具面板上選好相關(guān)組件,然后在JPanel上拖選出一個(gè)矩形,組件
12、即按相應(yīng)大小和位置顯示在此矩形區(qū)域。再在"屬性"視圖中編輯每個(gè)JLabel和JButton的"text"屬性為相應(yīng)的值?,F(xiàn)在來看看下面筆者”畫"出來的界面:看看,設(shè)計(jì)的如何?筆者不是畫家,"畫"出來的界面顯得有些凌亂。沒關(guān)系,VE也提供一些工具按鈕來讓我們調(diào)整各個(gè)組件的位置。請點(diǎn)擊VE工具欄上的"Show alignmentwindow"按鈕:顯示如下圖的視窗:通過此視窗,可以將所選組件向上下左右各個(gè)方向?qū)R。還可以使所選組件具有相同高度和寬度。來看看下圖經(jīng)過調(diào)整位置后的界面布局:現(xiàn)在看起來是不是美觀多了
13、?添加事件處理經(jīng)過前面的步驟,VE的可視化設(shè)計(jì)的任務(wù)就基本上完成了。在我們設(shè)計(jì)的界面中,有"Send"和"Clear"按鈕。我們再來看看 VE是如何為它們添加事件處理的。在設(shè)計(jì)界面的"Send"按鈕上點(diǎn)擊鼠標(biāo)右鍵,彈出菜單,如下圖:Seri'jSend 軍做他)打開寰型層次結(jié)籾(叮Rename Fiekl 篝彌陣Rename FieldAdd Events .ClearClearSet Feit在"Event"菜單項(xiàng)中,可以看到一個(gè) "actionPeformed"事件。如果要添加其它類
14、型的事 件,可以點(diǎn)擊"Add Events"選擇其它類型的事件。我們點(diǎn)擊"actionPeformed"事件后,在"Java Bea ns"視圖的"jButt on-"Se nd""組件下面,多了一個(gè)"actio nPeformed"事件類型,如下圖所示:在"Java Bea ns"視圖中,選中"actio nPeformed" 事件,再 VE的窗口中,從"Desig n"切 換到"Source"
15、視圖。在上圖標(biāo)記1的代碼區(qū)域,就是我們剛剛添加的按鈕事件。筆者在事件中調(diào)用了一個(gè) send方法,如圖中標(biāo)記 2代碼區(qū)域。具體的發(fā)送郵件的代碼筆者在這里就不實(shí)現(xiàn)了。同樣的方法,一樣可以為另一個(gè)按鈕"Clear"添加事件。在程序中使用自定義的組件在前面我們設(shè)計(jì)好了自己的Java組件,現(xiàn)在我們來看看如何在自己的程序中一一一個(gè)窗口中來調(diào)用這個(gè)組件。使用前面介紹的方法,在工具欄上點(diǎn)擊"新建Java類"按鈕,建立一個(gè)JFrame的VisualClass類。你也可以在通過菜單 ”文件"->"新建"->"Visual
16、Class"來尋一個(gè)JFrame類。在這 里,我們將這個(gè)類命名為"MyApp"。當(dāng)VE窗口出現(xiàn)時(shí),可以看到一個(gè)空白的 JFrame顯示在設(shè)計(jì)視圖中。此時(shí),點(diǎn)擊 VE 的工具面板上的"Choose Bean"按鈕,然后在彈出的對話框中輸入我們設(shè)計(jì)的Java組件的類名"MessagePane",再點(diǎn)擊”確定”。這時(shí),當(dāng)我們的鼠標(biāo)移到 JFrame上時(shí),JFrame會 用綠色的線條切分成五份,如下圖所示:這是因?yàn)?JFrame的預(yù)設(shè)LayoutManager 是BorderLayout,在 VE中,如果在工具面 板上選好Java組
17、件,當(dāng)鼠標(biāo)移到有特定LayoutManager的容器組件上時(shí)(在上圖中容器組件是一個(gè)JFrame),VE會用適當(dāng)?shù)男问街甘灸惝?dāng)前鼠標(biāo)懸停的位置。在上圖在VE告訴我們現(xiàn)在處在 BorderLayout的中心位置,此時(shí)再在該位置點(diǎn)擊一次,我們選好的Java組件即安放到此位置。用VE設(shè)計(jì)好程序界面,就可以切換到 "Source"視圖進(jìn)行具體的代碼的編碼了。在此我 們就不累述了。定制VE的環(huán)境之前的講解,大家學(xué)到了如何用VE來進(jìn)行可視化的Java界面設(shè)計(jì)。為了適應(yīng)不同的VE環(huán)境。開發(fā)者,VE也提供了一些選項(xiàng)來讓開發(fā)者設(shè)計(jì)自己喜好的請打開菜單"窗口 "->&
18、quot;首選項(xiàng)"->"Java"->"Visual Editor",此時(shí)出現(xiàn) VE的各種首選項(xiàng)界 面。由于筆者安裝的eclipse中文語言包早于 VE發(fā)布,所以此界面仍然是英文界面。在這里,VE 的首選項(xiàng)分為三類:"Appearanee" , "Code Generation" , "Pattern Style"。下面結(jié)合圖形分別介紹:1 .外觀(Appearanee)設(shè)置:Appearance |ShpH the visual editor and s口urce edi
19、torAbove each other with a spit psns 廠 .時(shí) 圧 i汕Qn separate notebook而 with palette in editor part ! imiii im mibiJ7 open Properties Wew 口 兩 Open Java Beans Vi&wi J Metaljawjt.swlnci.plaf .metLMetaLookAnclFeelJCDE/MDtif17, Windowscom. sun. java. swing. plaf. rnoti f. MotiflxicOndFeel cam. sun .java
20、. 5 wing, ptef .windows. Window sLooltAndFerJ叮Swing LqqR.and Fel此面板中可以設(shè)置這此內(nèi)容:(1) 設(shè)置可視編輯器和源代碼編輯器的布局,一種是上下分隔的布局,另一種是用頁答進(jìn)行切換的布局(即本文例圖中所見到的樣式)。(2) 設(shè)置是否顯示"屬性”視圖和"Java Bea ns"視圖。(3) 設(shè)置設(shè)計(jì)時(shí)Swing的界面風(fēng)格。2 .代碼生成(Code Generation) 設(shè)置fS! I!MIS'1':Code Gen era bon IGenet akion style亠 Generate a ccionent For nuiw 旳ru巧icinyGenerate
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024可信計(jì)算保障人工智能安全
- (一模)萍鄉(xiāng)市2025年高三第一次模擬考試英語試卷(含答案解析)
- 橋體廣告施工方案
- 限高門架施工方案
- 全職用工合同范例
- 柔性鋼管知識培訓(xùn)課件
- 個(gè)人山頭出租合同范例
- 農(nóng)用田租地合同范例
- 書銷售居間合同范例
- 倉庫多功能利用的實(shí)踐計(jì)劃
- 思想道德與法治知到章節(jié)答案智慧樹2023年寧波大學(xué)
- 農(nóng)田土地翻耕合同
- 鐵路混凝土工程施工質(zhì)量驗(yàn)收標(biāo)準(zhǔn)(TB 10424-2018 )培訓(xùn)教材
- 2023年全國醫(yī)學(xué)博士英語統(tǒng)考真題及參考答案
- 浙江新聞獎副刊類參評作品推薦表
- 人才培養(yǎng)方案執(zhí)行情況及總結(jié)
- 煤層氣開采地面工程設(shè)計(jì)方案
- xxx年國企集團(tuán)公司職工代表大會制度 企業(yè)職工代表大會制度
- GB/T 22085.2-2008電子束及激光焊接接頭缺欠質(zhì)量分級指南第2部分:鋁及鋁合金
- GB/T 10454-2000集裝袋
- 英語2022年廣州市普通高中畢業(yè)班綜合測試(一)英語試題
評論
0/150
提交評論