版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、任務7設計用戶登錄界面的布局Java程序設計項目化教程西安電子科技大學出版社學習目標學習目標 掌握掌握FlowLayoutFlowLayout流布局的使用。流布局的使用。 掌握掌握BorderLayoutBorderLayout邊界布局的使用。邊界布局的使用。 掌握掌握GridLayoutGridLayout表格布局的使用。表格布局的使用。 了解了解GridBagLayoutGridBagLayout網(wǎng)格包布局的使用。網(wǎng)格包布局的使用。 掌握多種布局方式的綜合運用掌握多種布局方式的綜合運用。Java程序設計項目化教程西安電子科技大學出版社7.1 任務描述任務描述 Java程序設計項目化教程西安
2、電子科技大學出版社7.2 技術要點技術要點lFlowLayoutFlowLayout(流式布局)(流式布局)lBorderLayoutBorderLayout(邊界布局)(邊界布局)lGridLayoutGridLayout(網(wǎng)格布局)(網(wǎng)格布局)lCardLayoutCardLayout(卡片布局)(卡片布局) Java程序設計項目化教程西安電子科技大學出版社流式布局(流式布局(FlowLayout類)類) Java程序設計項目化教程西安電子科技大學出版社舉例舉例 FlowLayoutDemo.javalimport javax.swing.*;limport java.awt.*;lpub
3、lic class FlowLayoutDemo extends JFrame l public FlowLayoutDemo() l setLayout(new FlowLayout();l setFont(new Font(Helvetica, Font.PLAIN, 14);l getContentPane().add(new JButton(Button 1);l getContentPane().add(new JButton( Button 2);l getContentPane().add(new JButton(Button 3);l getContentPane().add(
4、new JButton(Button 4);l l public static void main(String args) l FlowLayoutDemo window = new FlowLayoutDemo();l window.setTitle(FlowLayoutDemo Application);l window.pack();l window.setVisible(true);l lJava程序設計項目化教程西安電子科技大學出版社邊界布局(邊界布局(BorderLayout類)類) Java程序設計項目化教程西安電子科技大學出版社舉例舉例 BorderLayoutDemo.ja
5、valimport javax.swing.*;limport java.awt.*;lpublic class BorderLayoutDemo extends JFrame l public BorderLayoutDemo()l setLayout(new BorderLayout(5,5);l setFont(new Font(Helvetica, Font.PLAIN, 14);l getContentPane().add(North, new JButton(North);l getContentPane().add(South, new JButton(South);l getC
6、ontentPane().add(East, new JButton(East);l getContentPane().add(West, new JButton(West);l getContentPane().add(Center,new JButton(Center);l l public static void main(String args) l BorderLayoutDemo window = new BorderLayoutDemo();l window.setTitle(BorderWindow Application);l window.pack();l window.s
7、etVisible(true);l l Java程序設計項目化教程西安電子科技大學出版社網(wǎng)格布局(網(wǎng)格布局(GridLayout類)類) Java程序設計項目化教程西安電子科技大學出版社GridLayout布局效果布局效果 Java程序設計項目化教程西安電子科技大學出版社例例7-4 GridLayoutDemo.javal import javax.swing.*;l import java.awt.*;l public class GridLayoutDemo extends JFrame l public GridLayoutDemo() l setLayout(new GridLayou
8、t(3,2);l setFont(new Font(Helvetica, Font.PLAIN, 14);l getContentPane().add(new JButton(Button 1);l getContentPane().add(new JButton(Button 2);l getContentPane().add(new JButton(Button 3);l getContentPane().add(new JButton(Button 4);l getContentPane().add(new JButton(Button 5);l l public static void
9、 main(String args) l GridLayoutDemo window = new GridLayoutDemo();l window.setTitle(GridWindow Application);l window.pack();l window.setVisible(true);l l Java程序設計項目化教程西安電子科技大學出版社卡片布局(卡片布局(CardLayout類)類) Java程序設計項目化教程西安電子科技大學出版社卡片布局(卡片布局(CardLayout類)類)假設將容器假設將容器jp_cardjp_card設置為設置為CardLayoutCardLayou
10、t布局方式,一般步驟如下:布局方式,一般步驟如下:創(chuàng)建創(chuàng)建CardLayoutCardLayout對象作為布局管理,例如:對象作為布局管理,例如: CardLayout CardLayoutcards=new CardLayout();cards=new CardLayout();(1)(1)使用容器的使用容器的setLayout()setLayout()方法為容器設置布局方式,例如:方法為容器設置布局方式,例如: JPanel jp_cards= new JPanel(); JPanel jp_cards= new JPanel(); jp_cards.setLayout(cards); j
11、p_cards.setLayout(cards);(2)(2)容器調(diào)用容器調(diào)用add(Stringadd(Stringa, Component b)a, Component b)方法,將組件方法,將組件b b加入到容器中,并為組件取加入到容器中,并為組件取一個代號,該代號是一個字符串,以供更換顯示組件時使用,例如:一個代號,該代號是一個字符串,以供更換顯示組件時使用,例如: final static String CARD1 = final static String CARD1 = 第一張卡片第一張卡片; final static String CARD2= final static Str
12、ing CARD2= 第二張卡片第二張卡片; jp_cards.add(p1,CARD1); jp_cards.add(p1,CARD1); jp_cards.add(p2,CARD2); jp_cards.add(p2,CARD2);(3 )(3 )使用使用CardLayoutCardLayout類提供的類提供的show()show()方法,很局容器名字方法,很局容器名字jp_cardjp_card和組件代號顯示這一和組件代號顯示這一組件,例如:組件,例如: cards.show(CARD1, jp_cards,); cards.show(CARD1, jp_cards,); cards.s
13、how(CARD2, jp_cards); cards.show(CARD2, jp_cards);Java程序設計項目化教程西安電子科技大學出版社舉例舉例 CardLayoutDemo.javalimport java.awt.*;limport java.awt.event.*;limport javax.swing.*;lpublic class CardLayoutDemo extends JFrame implements ItemListenerl JPanel jp_cards;l JPanel cp,p1,p2;l CardLayout cards;l JComboBox c;
14、l final static String CARD1 = 第一張卡片第一張卡片;l final static String CARD2= 第二張卡片第二張卡片;l public CardLayoutDemo () l setLayout(new BorderLayout();l setFont(new Font(Helvetica, Font.PLAIN, 14);l cards=new CardLayout();/步驟步驟l cp = new JPanel();l c = new JComboBox();l c.addItem(CARD1);l c.addItem(CARD2);l cp.
15、add(c);Java程序設計項目化教程西安電子科技大學出版社舉例舉例 CardLayoutDemo.java(續(xù)續(xù))l this.getContentPane().add(North, cp);l jp_cards = new JPanel();l jp_cards.setLayout(cards);/步驟步驟l p1 = new JPanel();l p1.add(new JButton(按鈕按鈕1);l p1.add(new JButton(按鈕按鈕2);l p1.add(new JButton(按鈕按鈕3);l p2 = new JPanel();l p2.add(new JLabel
16、(標簽顯示標簽顯示);l jp_cards.add(,CARD1,p1); /步驟步驟l jp_cards.add(CARD2, p2);l this.getContentPane().add(Center, jp_cards); l c.addItemListener(this);l l public void itemStateChanged(ItemEvent e) l cards.show(jp_cards,(String)e.getItem() ); /步驟步驟 l l public static void main(String args) l CardLayoutDemo win
17、dow = new CardLayoutDemo ();l window.setTitle(CardLayoutDemo);l window.pack();l window.setVisible(true);l lJava程序設計項目化教程西安電子科技大學出版社運行效果運行效果Java程序設計項目化教程西安電子科技大學出版社空布局(空布局(null布局)布局) l首先利用首先利用setLayout(null)setLayout(null)語句將容器的布局設置為語句將容器的布局設置為nullnull布布局(空布局)。局(空布局)。l再調(diào)用組件的再調(diào)用組件的setBounds(int x, int
18、 y, int width,int setBounds(int x, int y, int width,int height)height)方法設置組件在容器中的大小和位置。方法設置組件在容器中的大小和位置。Java程序設計項目化教程西安電子科技大學出版社舉例舉例 NullLayoutDemo.javalimport java.awt.*;limport javax.swing.*;lpublic class NullLayoutDemol JFrame fr;l JButton a,b;l NullLayoutDemo() l fr = new JFrame();l fr.setBounds
19、(100,100,250,150);l fr.setLayout(null);l a=new JButton(按鈕按鈕a);l b=new JButton(按鈕按鈕b);l fr.getContentPane().add(a);l a.setBounds(30,30,80,25);l fr.getContentPane().add(b);b.setBounds(150,40,80,25); fr.setTitle(NullLayoutDemo); fr.setVisible(true); public static void main(String args) new NullLayoutDe
20、mo(); Java程序設計項目化教程西安電子科技大學出版社7.3 任務實施任務實施LoginPanel.java lclass LoginPanel extends JPanel lprivate static final long serialVersionUID = 1L;l private JLabel namelabel,pwdlabel,titlelabel;l private JTextField namefield;l private JPasswordField pwdfield;l private JButton loginbtn,registerbtn,cancelbtn
21、;l private JPanel panel1,panel2,panel3,panel21,panel22;l private JFrame iframe;lpublic LoginPanel(JFrame frame)l iframe = frame;1. titlelabel = new JLabel(歡迎使用考試系歡迎使用考試系統(tǒng)統(tǒng)); titlelabel.setFont(new Font(titlelabel.setFont(new Font(隸書隸書,Font.BOLD,24);,Font.BOLD,24); namelabel = new JLabel( namelabel = new JLabel(用戶名:用戶名:);); pwdlabel = new JLabel( pwdlabel = new JLabel(密密 碼:碼:);); namefield = new JTextField(16); namefield = new JTextField(16); pwdfield = new JPasswordField(16); pwdfield = new JPasswordField(16); pwdfield.setEchoChar( pwdfield.setEchoChar(* *);); loginbtn = new JButton( loginb
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 交通設施養(yǎng)護維修制度
- 2026湖北省定向西北工業(yè)大學選調(diào)生招錄參考題庫附答案
- 2026湖南財政經(jīng)濟學院招聘勞務派遣性質工作人員參考題庫附答案
- 2026福建泉州市面向北京科技大學選優(yōu)生選拔引進參考題庫附答案
- 2026福建省面向華中師范大學選調(diào)生選拔工作考試備考題庫附答案
- 2026福建福州第十九中學招聘編外行政人員(勞務派遣)1人考試備考題庫附答案
- 2026西藏林芝市察隅縣農(nóng)村公益電影放映人員招聘1人備考題庫附答案
- 2026遼寧大連產(chǎn)業(yè)園社招招聘備考題庫附答案
- 2026陜西省面向南開大學招錄選調(diào)生備考題庫附答案
- 2026魯南技師學院第一批招聘教師8人參考題庫附答案
- 規(guī)范外賣企業(yè)管理制度
- 2026年公共部門人力資源管理試題含答案
- 2026年中國數(shù)聯(lián)物流備考題庫有限公司招聘備考題庫有答案詳解
- 黑龍江省哈爾濱市師范大學附中2026屆數(shù)學高三第一學期期末質量檢測模擬試題含解析
- DB32/T+5311-2025+港口與道路工程+固化土施工技術規(guī)范
- DB31T+1661-2025公共區(qū)域電子屏播控安全管理要求
- 醫(yī)療聯(lián)合體兒童保健服務模式創(chuàng)新
- 2025年河南農(nóng)業(yè)大學輔導員考試真題
- 2026年書記員考試題庫附答案
- 中國高尿酸血癥與痛風診療指南(2024更新版)課件
- 2025至2030中國專用車行業(yè)發(fā)展分析及投資前景與戰(zhàn)略規(guī)劃報告
評論
0/150
提交評論