版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、 MLDN 軟件教學(xué)研發(fā)部軟件教學(xué)研發(fā)部JAVA 應(yīng)用開發(fā)詳解應(yīng)用開發(fā)詳解圖形界面 布局管理器本章目標(biāo) 了解布局管理器的作用 了解FlowLayout布局管理器 了解BorderLayout布局管理器 了解GridLayout布局管理器 了解CardLayout布局管理器 了解FlowLayout布局管理器 了解絕對定位布局管理器 使用布局管理器可以管理組件的顯示位置,每當(dāng)需要重新調(diào)整屏幕大小或重新繪制屏幕上任一項目時,都要用到布局管理器。 在Swing中使用的所有布局管理器都實現(xiàn) LayoutManager接口,在Swing中主要使用以下五種常見的布局管理器: FlowLayout、Bord
2、erLayout、GridLayout、CardLayout、絕對定位。 FlowLayout FlowLayout屬于流式布局管理器,使用此種布局方式,所有的組件會像流水一樣依次進行排列, FlowLayout類的常用方法及常量如下 。No.方法及常量方法及常量類型類型描述描述1public static final int CENTER常量居中對齊2public static final int LEADING常量與容器的開始端對齊方式一樣3public static final int LEFT常量左對齊4public static final int RIGHT常量右對齊5public
3、 static final int TRAILING常量與容器的結(jié)束端對齊方式一樣6public FlowLayout()構(gòu)造構(gòu)造一個新的 FlowLayout,居中對齊,默認(rèn)的水平和垂直間距是 5 個單位7public FlowLayout(int align)構(gòu)造構(gòu)造一個FlowLayout,并指定對齊方式8public FlowLayout(int align,int hgap,int vgap)構(gòu)造指定對齊方式、水平、垂直間距設(shè)置FlowLayout package org.lxh.demo18.layoutdemo;import java.awt.FlowLayout;import
4、javax.swing.JButton;import javax.swing.JFrame;public class FlowLayoutDemo01 public static void main(String args) JFrame frame = new JFrame(Welcome To MLDN) ; / 實例化窗體對象/ 設(shè)置窗體中的布局管理器為FlowLayout,所有的組件居中對齊,水平和垂直間距為3frame.setLayout(new FlowLayout(FlowLayout.CENTER, 3, 3);JButton but = null;for (int i = 0
5、; i 9; i+) but = new JButton(按鈕 - +i) ;frame.add(but) ;/ 加入按鈕frame.setSize(280,123) ;/ 設(shè)置窗體大小frame.setVisible(true) ;/ 設(shè)置窗體可見BorderLayout BorderLayout將一個窗體的版面劃分成東、西、南、北、中五個區(qū)域,可以直接將需要的組件放到這五個區(qū)域中即可。BorderLayout類的常用方法及常量 No.方法及常量方法及常量類型類型描述描述1public static final String EAST常量將組件設(shè)置在東區(qū)域2public static fin
6、al String WEST常量將組件設(shè)置在西區(qū)域3public static final String SOUTH常量將組件設(shè)置在南區(qū)域4public static final String NORTH常量將組件設(shè)置在北區(qū)域5public static final String CENTER常量將組件設(shè)置在中區(qū)域6public BorderLayout()構(gòu)造構(gòu)造沒有間距的布局器7public BorderLayout(int hgap,int vgap)構(gòu)造構(gòu)造有水平和垂直間距的布局器設(shè)置BorderLayout package org.lxh.demo18.layoutdemo;impo
7、rt java.awt.BorderLayout;import javax.swing.JButton;import javax.swing.JFrame;public class BorderLayoutDemo01 public static void main(String args) JFrame frame = new JFrame(Welcome To MLDN) ; / 實例化窗體對象/ 設(shè)置窗體中的布局管理器為BorderLayout,所有的組件水平和垂直間距為3frame.setLayout(new BorderLayout( 3, 3);frame.add(new JBut
8、ton(東(EAST)), BorderLayout.EAST);frame.add(new JButton(西(WEST)), BorderLayout.WEST);frame.add(new JButton(南(SOUTH)), BorderLayout.SOUTH);frame.add(new JButton(北(NORTH)), BorderLayout.NORTH);frame.add(new JButton(中(CENTER)), BorderLayout.CENTER);frame.pack() ;/ 根據(jù)組件自動調(diào)整窗體大小frame.setVisible(true) ;/ 設(shè)
9、置窗體可見GridLayout GridLayout布局管理器是以表格的形式進行管理的,在使用此布局管理器的時候必須設(shè)置顯示的行數(shù)和列數(shù),常用的方法如下所示。 No.方法方法類型類型描述描述1public GridLayout(int rows,int cols)構(gòu)造構(gòu)造一個指定行和列的布局管理器2public GridLayout(int rows,int cols,int hgap,int vgap)構(gòu)造構(gòu)造時指定行和列、水平和垂直間距設(shè)置GridLayout package org.lxh.demo18.layoutdemo;import java.awt.GridLayout;impo
10、rt javax.swing.JButton;import javax.swing.JFrame;public class GridLayoutDemo01 public static void main(String args) JFrame frame = new JFrame(Welcome To MLDN) ; / 實例化窗體對象/ 設(shè)置窗體中的布局管理器為GridLayout,按33排列,水平和垂直間距為3frame.setLayout(new GridLayout(3, 5, 3, 3);JButton but = null;for (int i = 0; i 13; i+) bu
11、t = new JButton(按鈕 - +i) ;frame.add(but) ;/ 加入按鈕frame.pack() ;/ 根據(jù)組件自動調(diào)整窗體大小frame.setVisible(true) ;/ 設(shè)置窗體可見CardLayout CardLayout就是將一組組件彼此重疊的進行布局,就像一張張卡片一樣,這樣每次只會展現(xiàn)一個界面。CardLayout類的常用方法 No.方法方法類型類型描述描述1public CardLayout()構(gòu)造構(gòu)造CardLayout對象,各組件間距為02public CardLayout(int hgap,int vgap)構(gòu)造構(gòu)造CardLayout對象,指
12、定組件間距3public void next(Container parent)普通翻轉(zhuǎn)到下一張卡片4public void previous(Container parent)普通翻轉(zhuǎn)到上一張卡片5public void first(Container parent)普通翻轉(zhuǎn)到第一張卡片6public void last(Container parent)普通翻轉(zhuǎn)到最后一張卡片7public void show(Container parent,String name)普通顯示具有指定組件名稱的卡片設(shè)置CardLayout package org.lxh.demo18.layoutdemo;
13、import java.awt.CardLayout;import java.awt.Container;import javax.swing.JFrame;import javax.swing.JLabel;public class CardLayoutDemo01 public static void main(String args) JFrame frame = new JFrame(Welcome To MLDN) ; / 實例化窗體對象Container cont = frame.getContentPane() ;/ 取得窗體容器CardLayout card = new Car
14、dLayout() ;/ 定義布局管理器frame.setLayout(card);/ 設(shè)置布局管理器cont.add(new JLabel(標(biāo)簽-A,JLabel.CENTER),first) ;cont.add(new JLabel(標(biāo)簽-B,JLabel.CENTER),second) ;cont.add(new JLabel(標(biāo)簽-C,JLabel.CENTER),third) ;cont.add(new JLabel(標(biāo)簽-D,JLabel.CENTER),Fourth) ;cont.add(new JLabel(標(biāo)簽-E,JLabel.CENTER),fifth) ;frame.p
15、ack() ;/ 根據(jù)組件自動調(diào)整窗體大小frame.setVisible(true) ;/ 設(shè)置窗體可見card.show(cont, third) ;/ 顯示第三張卡片for (int i = 0; i 5; i+) / 循環(huán)顯示每張卡片try Thread.sleep(3000) ;/ 加入顯示延遲 catch (InterruptedException e) card.next(cont) ;/ 從容器中取出組件絕對定位 如果不想在窗體中指定布局管理器,也可以通過設(shè)置絕對坐標(biāo)的方式完成,在Component中提供了setBounds()方法,可以定位一個組件的坐標(biāo),使用X、Y的坐標(biāo)表示
16、方式,此方法定義如下: public void setBounds(int x,int y,int width,int height)使用絕對定位排版 package org.lxh.demo18.layoutdemo;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;public class AbsoluteLayoutDemo01 public static void main(String args) JFrame frame = new JFrame(Welcome To MLDN) ; / 實例化窗體對象frame.setLayout(null);/ 使用絕對定位JLabel title = new JLabel() ;/ 建立標(biāo)簽對象JButton enter = new JButton(進入) ;/ 建立按鈕對象JButton help = new JButton(幫助) ;/ 建立按鈕對象fra
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024芒果園果樹修剪與整形技術(shù)指導(dǎo)合同3篇
- 2024年版金融科技產(chǎn)品代理銷售合同
- 2024年預(yù)拌混凝土產(chǎn)品出口貿(mào)易合同2篇
- 2024戊己雙方委托理財管理服務(wù)合同
- 2025年度果樹租賃與果樹種植基地租賃合同3篇
- 2025年度綠色環(huán)保企業(yè)安全生產(chǎn)責(zé)任協(xié)議書范本3篇
- 2024水產(chǎn)養(yǎng)殖環(huán)境監(jiān)測與生態(tài)保護合同3篇
- 2024新媒體綠色出行信息平臺建設(shè)合作合同3篇
- 專業(yè)定制廣告牌制作及銷售合同2024版版B版
- 不病防控知識培訓(xùn)課件
- 2025河南滎陽市招聘第二批政務(wù)輔助人員211人高頻重點提升(共500題)附帶答案詳解
- 2024年財政部會計法律法規(guī)答題活動題目及答案一
- 2023年售前工程師年度總結(jié)及來年計劃
- DL-T 5190.1-2022 電力建設(shè)施工技術(shù)規(guī)范 第1部分:土建結(jié)構(gòu)工程(附條文說明)
- 幕墻工程施工重點、難點分析及應(yīng)對措施
- 集團公司員工宿舍管理辦法(正式版)
- 康復(fù)治療學(xué)專業(yè)畢業(yè)生的培養(yǎng)與就業(yè)分析
- 《工人工資發(fā)放承諾書范文 》
- 馬達加斯加 礦產(chǎn)和能源開發(fā)戰(zhàn)略
- 忘憂草(周華健)原版五線譜鋼琴譜正譜樂譜.docx
- XX公司紀(jì)檢監(jiān)察機構(gòu)談話筆錄模板
評論
0/150
提交評論