資源描述:
《java入門(mén)到精通第10章》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第十章FormForm是SWT的擴(kuò)展,它不屬于SWT組件包,但它的使用卻和SWT密切相關(guān)。Form是一個(gè)界面,打開(kāi)一個(gè)程序所出現(xiàn)的界面。本章以各種示例來(lái)介紹Form的使用,以及常用的方法。10.1第一個(gè)Form示例在Eclipse中,F(xiàn)orm主要用于編輯配置文件提供的集成界面,F(xiàn)orm在使用中,比較消耗資源。FormToolkit是基于display創(chuàng)建的,如果沒(méi)有調(diào)用display.dispose()方法釋放資源的話,就必須使用toolkit.dispose()方法來(lái)進(jìn)行銷毀。10.2Form中創(chuàng)建其他組件在Form中創(chuàng)建組件的方式和前面講到的創(chuàng)建
2、組件方式有點(diǎn)不同,過(guò)去是使用new的方式來(lái)創(chuàng)建,而Form中,卻使用create方法來(lái)創(chuàng)建。這也是為了Form界面的外觀樣式統(tǒng)一。10.3布局在Form中,可以使用傳統(tǒng)的布局管理器,其本身自帶了兩個(gè)布局管理器,分別是TableWrapLayout和ColumnLayout。這兩個(gè)布局管理器,和前面介紹的有些布局相類似,下面就分別介紹一下這兩個(gè)布局管理器的使用方法。10.3.1TableWrapLayoutTableWrapLayout和前面介紹到的GridLayout非常相似,不過(guò),TableWrapLayout有一些HTML網(wǎng)頁(yè)的特點(diǎn),這些是Gri
3、dLayout所沒(méi)有的,在TableWrapLayout中,組件會(huì)有做夠大的空間,如果水平空間不足,則會(huì)向垂直方向擴(kuò)展。10.3.2ColumnLayoutColumnLayout可以說(shuō)是RowLayout的變體,在改變窗體的大小之后,按鈕的排列也隨著之發(fā)生了變化。10.4Form組件Form的專用組件中,經(jīng)常使用的有Section、ScrolledForm、Hyperlnk,另外還有兩個(gè)布局管理器。這些組件有一個(gè)共同的特點(diǎn),它們都是由FormToolkit的create方法創(chuàng)建。10.4.1HyperlinkHyperlink類又叫超鏈接類,類似于
4、網(wǎng)上的超鏈接,在Hyperlink類中,還可以設(shè)置背景色,并且可以為多個(gè)超鏈接設(shè)置組,也就是HyperlinkGroup類,將多個(gè)連接加入到組中,便于管理。10.4.2ExpandableCompositeExpandableComposite類是可伸縮面板,可以設(shè)置一個(gè)按鈕來(lái)控制一部分內(nèi)容的伸縮。其中有以下不同的式樣。TREE_NODECLIENT_INDENTTWISTIEEXPANDED10.4.3ScrolledFormScrolledForm類是帶滾動(dòng)條的Form面板,ScrolledForm是ScrollenComposite的子類,其運(yùn)
5、行效果和ColumnLayout類似,只不過(guò)在分固定行列后,如果超出頁(yè)面顯示,添加了滾動(dòng)條。10.4.4ImageHyperlinkImageHyperlink類是圖片超鏈接類,ImageHyperlink是超鏈接的子類,在鏈接文字上添加了圖片,可以是一個(gè)單獨(dú)的圖片,或者是圖片加鏈接,創(chuàng)建一個(gè)窗口,在窗口中創(chuàng)建FormToolkit對(duì)象,然后由FormToolkit對(duì)象創(chuàng)建一個(gè)ImageHyperlink類對(duì)象,最后設(shè)置圖片地址、顯示文本以及超鏈接。10.4.5SectionSection類是Form中最常用的一個(gè)組件,Section類是Expand
6、ableComposite的子類,兩者的使用方法大體相似,在Section中,還有一些更加豐富的功能。例如不使用監(jiān)聽(tīng)功能等,10.4.6FormTextFormText類似于Label,但它并不是文本框,在FormText中,支持一些超鏈接和一些主要的HTML標(biāo)簽,顯示效果比較接近于網(wǎng)頁(yè)。文本顯示部分,使用HTML語(yǔ)言編寫(xiě)。字體的顏色,使用專門(mén)用于管理Form顏色的getColors()方法,因?yàn)镕orm使用網(wǎng)頁(yè)的效果,不和系統(tǒng)共用顏色,所以會(huì)需要很多的color對(duì)象,這些color對(duì)象會(huì)和Toolkit一起銷毀。