任務(wù)7——設(shè)計(jì)用戶登錄界面的布局_第1頁
任務(wù)7——設(shè)計(jì)用戶登錄界面的布局_第2頁
任務(wù)7——設(shè)計(jì)用戶登錄界面的布局_第3頁
任務(wù)7——設(shè)計(jì)用戶登錄界面的布局_第4頁
任務(wù)7——設(shè)計(jì)用戶登錄界面的布局_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、任務(wù)7設(shè)計(jì)用戶登錄界面的布局Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo) 掌握掌握FlowLayoutFlowLayout流布局的使用。流布局的使用。 掌握掌握BorderLayoutBorderLayout邊界布局的使用。邊界布局的使用。 掌握掌握GridLayoutGridLayout表格布局的使用。表格布局的使用。 了解了解GridBagLayoutGridBagLayout網(wǎng)格包布局的使用。網(wǎng)格包布局的使用。 掌握多種布局方式的綜合運(yùn)用掌握多種布局方式的綜合運(yùn)用。Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社7.1 任務(wù)描述任務(wù)描述 Java程序設(shè)計(jì)項(xiàng)目化教程西安

2、電子科技大學(xué)出版社7.2 技術(shù)要點(diǎn)技術(shù)要點(diǎn)lFlowLayoutFlowLayout(流式布局)(流式布局)lBorderLayoutBorderLayout(邊界布局)(邊界布局)lGridLayoutGridLayout(網(wǎng)格布局)(網(wǎng)格布局)lCardLayoutCardLayout(卡片布局)(卡片布局) Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社流式布局(流式布局(FlowLayout類)類) Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社舉例舉例 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程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社邊界布局(邊界布局(BorderLayout類)類) Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社舉例舉例 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程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社網(wǎng)格布局(網(wǎng)格布局(GridLayout類)類) Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社GridLayout布局效果布局效果 Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社例例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程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社卡片布局(卡片布局(CardLayout類)類) Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社卡片布局(卡片布局(CardLayout類)類)假設(shè)將容器假設(shè)將容器jp_cardjp_card設(shè)置為設(shè)置為CardLayoutCardLayou

10、t布局方式,一般步驟如下:布局方式,一般步驟如下:創(chuàng)建創(chuàng)建CardLayoutCardLayout對(duì)象作為布局管理,例如:對(duì)象作為布局管理,例如: CardLayout CardLayoutcards=new CardLayout();cards=new CardLayout();(1)(1)使用容器的使用容器的setLayout()setLayout()方法為容器設(shè)置布局方式,例如:方法為容器設(shè)置布局方式,例如: 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加入到容器中,并為組件取加入到容器中,并為組件取一個(gè)代號(hào),該代號(hào)是一個(gè)字符串,以供更換顯示組件時(shí)使用,例如:一個(gè)代號(hào),該代號(hào)是一個(gè)字符串,以供更換顯示組件時(shí)使用,例如: 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和組件代號(hào)顯示這一和組件代號(hào)顯示這一組件,例如:組件,例如: cards.show(CARD1, jp_cards,); cards.show(CARD1, jp_cards,); cards.s

13、how(CARD2, jp_cards); cards.show(CARD2, jp_cards);Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社舉例舉例 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程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社舉例舉例 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、(標(biāo)簽顯示標(biāo)簽顯示);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程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社運(yùn)行效果運(yùn)行效果Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社空布局(空布局(null布局)布局) l首先利用首先利用setLayout(null)setLayout(null)語句將容器的布局設(shè)置為語句將容器的布局設(shè)置為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)方法設(shè)置組件在容器中的大小和位置。方法設(shè)置組件在容器中的大小和位置。Java程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社舉例舉例 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程序設(shè)計(jì)項(xiàng)目化教程西安電子科技大學(xué)出版社7.3 任務(wù)實(shí)施任務(wù)實(shí)施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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論