freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

java就業(yè)培訓(xùn)教程第九章gui-文庫吧資料

2025-07-01 06:59本頁面
  

【正文】 只有一個(gè)布局管理器來實(shí)現(xiàn)上面組件布局是相當(dāng)?shù)睦щy的,所以下面的例子聯(lián)合了更多的布局類型。 CardLayoutCardLayout布局管理器能夠?qū)崿F(xiàn)將多個(gè)組件放在同一容器區(qū)域內(nèi)的交替顯示,相當(dāng)于多張卡片摞在一起,在任何時(shí)候都只有最上面的一個(gè)可見。GridLayout布局管理器總是忽略組件的最佳大小,所有單元的寬度是相同的,是根據(jù)單元數(shù)對可用寬度進(jìn)行平分而定的。在容器上添加組件時(shí),它們會按從左到右、從上到下的順序在網(wǎng)格中排列。當(dāng)容器窗口大小改變時(shí),組件的位置可能會發(fā)生變化,但組件的尺寸不變,當(dāng)窗口變大后,第二行的組件排列到了第一行上。 (true)。 (new Button(“第四個(gè)按鈕”))。 (new Button(“第二個(gè)按鈕”))。 (new FlowLayout())。 程序清單: import .*。FlowLayout是Panel和applet的默認(rèn)布局管理器。 FlowLayout FlowLayout是一個(gè)簡單的布局風(fēng)格,組件從左到右,從上到下依此排列。對于這個(gè)問題,作者又要發(fā)一些牢騷了,真不明白Java的設(shè)計(jì)人員當(dāng)初怎么想的,在這些雞毛蒜皮的小問題上都不讓我們輕松,非要我們浪費(fèi)一些時(shí)間去處理這些死板的細(xì)節(jié)。 }}:可見,沒有指定位置參數(shù)時(shí),AWT會用“Center”作為這個(gè)組件的放置位置。 (300,300)。 (new Button(第一個(gè)按鈕), North)。我們要想將上面例子中的第一個(gè)按鈕放置在窗口上的北面,而第二個(gè)按鈕放置在窗口的中間,程序修改如下:程序清單: import .*。對Frame和Dialog來說,默認(rèn)的布局管理器就是BorderLayout布局管理器。在BorderLayout布局管理下,這個(gè)管理器允許最多放置五個(gè)組件,如果我們想在窗口上放置更多的組件,可以將若干組件添加到一個(gè)Panel上,然后將這個(gè)Panel作為一個(gè)組件放置到窗口上。我們將組件添加到容器時(shí),需要指定組件放置的區(qū)域。每個(gè)容器都有一個(gè)布局管理器,當(dāng)容器需要對某個(gè)組件進(jìn)行定位或判斷其大小尺寸時(shí),就會調(diào)用其對應(yīng)的布局管理器。在不同的布局管理器下,同一個(gè)組件將會有不同的顯示效果,并且我們不能完全按自己的意愿設(shè)置組件的大小和位置了。 }}程序運(yùn)行后,:我們只看到了第二個(gè)按鈕,為什么無法顯示第一個(gè)按鈕呢?在AWT中,每個(gè)組件在容器中都應(yīng)該有一個(gè)具體的位置和大小,我們想在容器中排列若干組件時(shí),會很難確定它們的大小和位置。 (300,300)。 (new Button(第一個(gè)按鈕))。程序清單: import .*。 }}由于有各種各樣的組件,我們很難在這里一一介紹,其實(shí)讀者只要掌握了其中幾個(gè)具有典型意義的組件,其他的組件都可以在需要時(shí)臨時(shí)查閱文檔資料,很多東西是你自己一看都能夠明白的。 } })。 (true)。 (sp)。 TextArea ta = new TextArea(,10,50,)。public class TestPane{ TestPane() { Frame f=new Frame(TestDialog)。程序清單: import .*。我們要將多個(gè)組件添加到ScrollPane上,只能先將多個(gè)組件嵌套在一個(gè)Panel容器中,然后將這個(gè)Panel作為一個(gè)組件放置到ScrollPane上。ScrollPane也是一種容器,不能單獨(dú)使用,通過滾動(dòng)窗口可以利用滾動(dòng)條查看大面積區(qū)域。Panel是一個(gè)空白容器類,提供容納組件的空間,通常用于集成其他的若干組件,使這些組件形成一個(gè)有機(jī)的整體,再增加到別的容器上。mode);這種方法中,前兩個(gè)參數(shù)的作用和Dialog一樣,第三個(gè)參數(shù)有兩個(gè)值,這個(gè)參數(shù)用來確定產(chǎn)生的是讀文件對話框還是寫文件對話框。parent, String由于安全性限制,它不能在Applet中使用,只有在Application中才能使用。當(dāng)我們用非模態(tài)方式顯示對話框后,()語句立即被執(zhí)行,我們也能操作主框架窗口(譬如對文本框進(jìn)行輸入),(true)語句沒有等到對話框關(guān)閉就立即返回了。 } public static void main(String[] args) { new TestDialog()。 } })。 (b3)。 } })。 (true)。 } })。 (true)。 } })。 (true)。 (b2)。 (tf)。 FlowLayout fl=new FlowLayout()。 Button b3=new Button(確定)。 Button b2=new Button(非模態(tài)顯示)。public class TestDialog{ TextField tf = new TextField(10)。程序清單:import .*。這兩個(gè)構(gòu)造方法的第一個(gè)參數(shù)代表對話框的擁有者,第二個(gè)參數(shù)是對話框標(biāo)題,第三個(gè)參數(shù)設(shè)置對話框的模式,如果是true,則為模態(tài)對話框,如果是false,則為非模態(tài)對話框。title,booleanpublic Dialog(Frameowner,StringDialog類用來創(chuàng)建用戶對話框,對話框和框架(Frame)比較相似,同樣可以在對話框上添加其它的組件。模態(tài)對話框顯示時(shí),用戶不能操作其它窗口,直到這個(gè)對話框被關(guān)閉。在對話框中一般不需要菜單條,也不需要改變窗口大小。Frame對象顯示效果是一個(gè)“窗口”,帶有標(biāo)題和尺寸重置角標(biāo),默認(rèn)初始化為不可見的,可以使用setVisible(true)方法使之變?yōu)榭梢姡谇懊嫖覀円呀?jīng)多次用到了Frame類。:Container有幾個(gè)主要的子類:Window類,Panel類,ScrollPane類。象我們上面見到的窗口就是一個(gè)容器,類Container是所有容器的父類,容器(Container)實(shí)際上是Component的子類,因此容器類對象本身也是一個(gè)組件,具有組件的所有性質(zhì),另外還具有容納其它組件和容器的功能。如果我們程序中的菜單要針對不同的國家,用不同語言文字顯示,我們不管菜單項(xiàng)標(biāo)題上顯示的是什么文字,只要用setActionCommand方法為這個(gè)菜單項(xiàng)指定一個(gè)命令字符串,我們就可以用同樣的事件處理程序去處理這個(gè)用不同語言文字顯示的菜單項(xiàng)的事件。ActionEvent的getActionCommand方法就是用于返回這個(gè)命令字符串的。 } }對于發(fā)出ActionEvent事件的組件,我們可以調(diào)用setActionCommand方法為其關(guān)聯(lián)一個(gè)字符串,用于指示這個(gè)動(dòng)作想執(zhí)行的命令。 class MenuListener implements ActionListener { public void actionPerformed(ActionEvent e) { if(().equals(preview)) (doing preview)。 (ml)。MenuItem printM2 = new MenuItem(setting)。Menu filePrint = new Menu(print)。程序不用處理菜單條和菜單的事件,但需要對菜單項(xiàng)的動(dòng)作進(jìn)行響應(yīng),單擊一個(gè)菜單項(xiàng),會發(fā)出ActionEvent事件。要注意的一點(diǎn)是,Menu類本身又是MenuItem的子類,一個(gè)Menu對象也可以作為一個(gè)菜單項(xiàng)增加到另外一個(gè)Menu對象上,這就是我們在上面看到的print子菜單。 }}在窗口上產(chǎn)生菜單的過程非常簡單,我們首先要產(chǎn)生MenuBar對象,然后產(chǎn)生Menu對象,最后產(chǎn)生MenuItem對象。 } })。 (true)。 //將菜單項(xiàng)加入菜單中 (menubar)。 //將print菜單作為一個(gè)菜單項(xiàng)加入file菜單中 ()。//將菜單項(xiàng)加入print菜單中 (printM2)。 (fileMI3)。 (fileMI1)。 (toolsM)。 (fileM)。 Frame f=new Frame(TestMenuBar)。 MenuItem printM2 = new MenuItem(setting)。 //創(chuàng)建各菜單項(xiàng) Menu filePrint = new Menu(print)。 //創(chuàng)建各菜單項(xiàng) MenuItem fileMI3=new MenuItem(Save)。 //創(chuàng)建各菜單 MenuItem fileMI1=new MenuItem(New)。 //創(chuàng)建各菜單 Menu toolsM=new Menu(Tools)。 //創(chuàng)建菜單條對象 Menu fileM=new Menu(File)。import .*。 。:在圖中,F(xiàn)ile、Edit、Tools、Help各項(xiàng)叫做菜單,這些頂層菜單共同組合成菜單條,在File項(xiàng)的下拉菜單中New、Open等各項(xiàng)叫做菜單項(xiàng)。 } public static void main(String[] args) { new TestChoice()。 (new WindowAdapter(){public void windowClosing(WindowEvent e) { (0)。 //把列表加入到窗口 (0,0,200,100)。 (fl)。 //用add方法向列表里加入選項(xiàng) FlowLayout fl=new FlowLayout()。 //用add方法向列表里加入選項(xiàng)
點(diǎn)擊復(fù)制文檔內(nèi)容
法律信息相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1