posts - 4, comments - 0, trackbacks - 0, articles - 1
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
          先前的FlowLayout的三個(gè)參數(shù)alignment, horizontal gap和vertical gap變成了GridLayout的另外四種參數(shù):columns, horizontal gap, rows, vertical gap。
            
            為了方便設(shè)計(jì),筆者在這個(gè)例子中將采用null,即不用任何LayoutManager來(lái)設(shè)計(jì)界面。
            
             布局設(shè)置好后,就可以在JPanel上擺置各種Swing組件了。按照我們最開(kāi)始設(shè)計(jì)的草圖,界面上要擺上四個(gè)Label:From, To, Subject, Message。以及四個(gè)文本組件,其第四個(gè)應(yīng)該是TextArea, 用于編輯多行文本。我們?cè)诠ぞ呙姘迳线x好相關(guān)組件,然后在JPanel上拖選出一個(gè)矩形,組件即按相應(yīng)大小和位置顯示在此矩形區(qū)域。再在"屬性"視圖中編 輯每個(gè)JLabel和JButton的"text"屬性為相應(yīng)的值。現(xiàn)在來(lái)看看下面筆者"畫(huà)"出來(lái)的界面:
             
            看看,設(shè)計(jì)的如何?筆者不是畫(huà)家,"畫(huà)"出來(lái)的界面顯得有些凌亂。沒(méi)關(guān)系,VE也提供一些工具按鈕來(lái)讓我們調(diào)整各個(gè)組件的位置。請(qǐng)點(diǎn)擊VE工具欄上的"Show alignment window"按鈕:
             
            顯示如下圖的視窗:
             
            通過(guò)此視窗,可以將所選組件向上下左右各個(gè)方向?qū)R。還可以使所選組件具有相同高度和寬度。來(lái)看看下圖經(jīng)過(guò)調(diào)整位置后的界面布局:
             
            現(xiàn)在看起來(lái)是不是美觀多了?
            
            添加事件處理
            
            經(jīng)過(guò)前面的步驟,VE的可視化設(shè)計(jì)的任務(wù)就基本上完成了。在我們?cè)O(shè)計(jì)的界面中,有"Send"和"Clear"按鈕。我們?cè)賮?lái)看看VE是如何為它們添加事件處理的。
            
            在設(shè)計(jì)界面的"Send"按鈕上點(diǎn)擊鼠標(biāo)右鍵,彈出菜單,如下圖:
             
             在"Event"菜單項(xiàng)中,可以看到一個(gè)"actionPerformed"事件。如果要添加其它類型的事件,可以點(diǎn)擊"Add Events"選擇其它類型的事件。我們點(diǎn)擊"actionPerformed"事件后,在"Java Beans"視圖的"jButton-"Send""組件下面,多了一個(gè)"actionPerformed"事件類型,如下圖所示:
             
            在"Java Beans"視圖中,選中"actionPerformed"事件,再VE的窗口中,從"Design"切換到"Source"視圖。
             
            在上圖標(biāo)記1的代碼區(qū)域,就是我們剛剛添加的按鈕事件。筆者在事件中調(diào)用了一個(gè)send方法,如圖中標(biāo)記2代碼區(qū)域。具體的發(fā)送郵件的代碼筆者在這里就不實(shí)現(xiàn)了。
            
            同樣的方法,一樣可以為另一個(gè)按鈕"Clear"添加事件。
            
            在程序中使用自定義的組件
            
            在前面我們?cè)O(shè)計(jì)好了自己的Java組件,現(xiàn)在我們來(lái)看看如何在自己的程序中――一個(gè)窗口中來(lái)調(diào)用這個(gè)組件。
            
             使用前面介紹的方法,在工具欄上點(diǎn)擊"新建Java類"按鈕,建立一個(gè)JFrame的Visual Class類。你也可以在通過(guò)菜單"文件"->"新建"->"Visual Class"來(lái)尋一個(gè)JFrame類。在這里,我們將這個(gè)類命名為"MyApp"。
            
            當(dāng)VE窗口出現(xiàn)時(shí),可以看到一個(gè)空白的 JFrame顯示在設(shè)計(jì)視圖中。此時(shí),點(diǎn)擊VE的工具面板上的" Choose Bean"按鈕,然后在彈出的對(duì)話框中輸入我們?cè)O(shè)計(jì)的Java組件的類名"MessagePane",再點(diǎn)擊"確定"。這時(shí),當(dāng)我們的鼠標(biāo)移到 JFrame上時(shí),JFrame會(huì)用綠色的線條切分成五份,如下圖所示:
            
             這是因?yàn)镴Frame的預(yù)設(shè)LayoutManager是BorderLayout,在VE中,如果在工具面板上選好Java組件,當(dāng)鼠標(biāo)移到有特定 LayoutManager的容器組件上時(shí)(在上圖中容器組件是一個(gè)JFrame),VE會(huì)用適當(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來(lái)進(jìn)行可視化的Java界面設(shè)計(jì)。為了適應(yīng)不同的開(kāi)發(fā)者,VE也提供了一些選項(xiàng)來(lái)讓開(kāi)發(fā)者設(shè)計(jì)自己喜好的VE環(huán)境。
            
             請(qǐng)打開(kāi)菜單"窗口"->"首選項(xiàng)"->"Java"->"Visual Editor",此時(shí)出現(xiàn)VE的各種首選項(xiàng)界面。由于筆者安裝的eclipse中文語(yǔ)言包早于VE發(fā)布,所以此界面仍然是英文界面。在這里,VE的首選項(xiàng) 分為三類:"Appearance","Code Generation","Pattern Style"。下面結(jié)合圖形分別介紹:
            
            1.外觀(Appearance)設(shè)置:
            
            此面板中可以設(shè)置這此內(nèi)容:
            
            (1) 設(shè)置可視編輯器和源代碼編輯器的布局,一種是上下分隔的布局,另一種是用頁(yè)答進(jìn)行切換的布局(即本文例圖中所見(jiàn)到的樣式)。
            
            (2) 設(shè)置是否顯示"屬性"視圖和"Java Beans"視圖。
            
            (3) 設(shè)置設(shè)計(jì)時(shí)Swing的界面風(fēng)格。
            
            2.代碼生成(Code Generation)設(shè)置
            
            此面板包括以下內(nèi)容:
            
            (1) 設(shè)置是否為新表達(dá)式生成注釋和try{}…catch()塊。
            
            (2) 設(shè)置可視設(shè)計(jì)界面和代碼編輯器之間的代碼同步時(shí)間。
            
            3.代碼模板風(fēng)格(Pattern Style)設(shè)置
            
            此面板包括以下內(nèi)容:
            
            (1) VE所用的存取Java Bean的代碼風(fēng)格。
            
            (2) VE初始化時(shí)嘗試使用的初始化方法。VE目前已提供了對(duì)Jbuilder、NetBean等其它IDE產(chǎn)品可視編輯器生成的Java組件代碼初始化方式的支持。
            
            總結(jié)
            
             行文至此,我們從VE的安裝到Java組件設(shè)計(jì)以及VE環(huán)境的設(shè)置,基本上已對(duì)eclipse的全新工具Visual Editor作了一個(gè)全面的了解。有了Visual Editor,我們所有的開(kāi)發(fā)工作,從圖形用戶界面到業(yè)務(wù)邏輯,全部可以在eclipse平臺(tái)上完成。

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 昭觉县| 达孜县| 宜都市| 微山县| 西乌珠穆沁旗| 伊吾县| 临漳县| 东乡县| 平湖市| 卓资县| 武鸣县| 凤山市| 茌平县| 江华| 英山县| 福贡县| 如东县| 开封县| 星子县| 神池县| 忻州市| 革吉县| 天长市| 望奎县| 河间市| 盖州市| 桃园县| 裕民县| 措勤县| 克什克腾旗| 额尔古纳市| 永济市| 奈曼旗| 浪卡子县| 湖北省| 长治县| 安义县| 天峨县| 孟连| 临邑县| 民权县|