您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 任务7――设计用户登录界面的布局
任务7——设计用户登录界面的布局学习情境二(考试系统单机版)《Java程序设计项目化教程》西安电子科技大学出版社学习目标掌握FlowLayout流布局的使用。掌握BorderLayout边界布局的使用。掌握GridLayout表格布局的使用。了解GridBagLayout网格包布局的使用。掌握多种布局方式的综合运用。《Java程序设计项目化教程》西安电子科技大学出版社7.1任务描述《Java程序设计项目化教程》西安电子科技大学出版社7.2技术要点FlowLayout(流式布局)BorderLayout(边界布局)GridLayout(网格布局)CardLayout(卡片布局)《Java程序设计项目化教程》西安电子科技大学出版社流式布局(FlowLayout类)《Java程序设计项目化教程》西安电子科技大学出版社举例FlowLayoutDemo.java1.importjavax.swing.*;2.importjava.awt.*;3.publicclassFlowLayoutDemoextendsJFrame{4.publicFlowLayoutDemo(){5.setLayout(newFlowLayout());6.setFont(newFont(Helvetica,Font.PLAIN,14));7.getContentPane().add(newJButton(Button1));8.getContentPane().add(newJButton(Button2));9.getContentPane().add(newJButton(Button3));10.getContentPane().add(newJButton(Button4));11.}12.publicstaticvoidmain(Stringargs[]){13.FlowLayoutDemowindow=newFlowLayoutDemo();14.window.setTitle(FlowLayoutDemoApplication);15.window.pack();16.window.setVisible(true);17.}18.}《Java程序设计项目化教程》西安电子科技大学出版社边界布局(BorderLayout类)《Java程序设计项目化教程》西安电子科技大学出版社举例BorderLayoutDemo.java1.importjavax.swing.*;2.importjava.awt.*;3.publicclassBorderLayoutDemoextendsJFrame{4.publicBorderLayoutDemo(){5.setLayout(newBorderLayout(5,5));6.setFont(newFont(Helvetica,Font.PLAIN,14));7.getContentPane().add(North,newJButton(North));8.getContentPane().add(South,newJButton(South));9.getContentPane().add(East,newJButton(East));10.getContentPane().add(West,newJButton(West));11.getContentPane().add(Center,newJButton(Center));12.}13.publicstaticvoidmain(Stringargs[]){14.BorderLayoutDemowindow=newBorderLayoutDemo();15.window.setTitle(BorderWindowApplication);16.window.pack();17.window.setVisible(true);18.}19.}《Java程序设计项目化教程》西安电子科技大学出版社网格布局(GridLayout类)《Java程序设计项目化教程》西安电子科技大学出版社GridLayout布局效果《Java程序设计项目化教程》西安电子科技大学出版社例7-4GridLayoutDemo.java1.importjavax.swing.*;2.importjava.awt.*;3.publicclassGridLayoutDemoextendsJFrame{4.publicGridLayoutDemo(){5.setLayout(newGridLayout(3,2));6.setFont(newFont(Helvetica,Font.PLAIN,14));7.getContentPane().add(newJButton(Button1));8.getContentPane().add(newJButton(Button2));9.getContentPane().add(newJButton(Button3));10.getContentPane().add(newJButton(Button4));11.getContentPane().add(newJButton(Button5));12.}13.publicstaticvoidmain(Stringargs[]){14.GridLayoutDemowindow=newGridLayoutDemo();15.window.setTitle(GridWindowApplication);16.window.pack();17.window.setVisible(true);18.}19.}《Java程序设计项目化教程》西安电子科技大学出版社卡片布局(CardLayout类)《Java程序设计项目化教程》西安电子科技大学出版社卡片布局(CardLayout类)假设将容器jp_card设置为CardLayout布局方式,一般步骤如下:创建CardLayout对象作为布局管理,例如:CardLayoutcards=newCardLayout();(1)使用容器的setLayout()方法为容器设置布局方式,例如:JPaneljp_cards=newJPanel();jp_cards.setLayout(cards);(2)容器调用add(Stringa,Componentb)方法,将组件b加入到容器中,并为组件取一个代号,该代号是一个字符串,以供更换显示组件时使用,例如:finalstaticStringCARD1=第一张卡片;finalstaticStringCARD2=第二张卡片;jp_cards.add(p1,CARD1);jp_cards.add(p2,CARD2);(3)使用CardLayout类提供的show()方法,很局容器名字jp_card和组件代号显示这一组件,例如:cards.show(CARD1,jp_cards,);cards.show(CARD2,jp_cards);《Java程序设计项目化教程》西安电子科技大学出版社举例CardLayoutDemo.java1.importjava.awt.*;2.importjava.awt.event.*;3.importjavax.swing.*;4.publicclassCardLayoutDemoextendsJFrameimplementsItemListener{5.JPaneljp_cards;6.JPanelcp,p1,p2;7.CardLayoutcards;8.JComboBoxc;9.finalstaticStringCARD1=第一张卡片;10.finalstaticStringCARD2=第二张卡片;11.publicCardLayoutDemo(){12.setLayout(newBorderLayout());13.setFont(newFont(Helvetica,Font.PLAIN,14));14.cards=newCardLayout();//步骤115.cp=newJPanel();16.c=newJComboBox();17.c.addItem(CARD1);18.c.addItem(CARD2);19.cp.add(c);《Java程序设计项目化教程》西安电子科技大学出版社举例CardLayoutDemo.java(续)20.this.getContentPane().add(North,cp);21.jp_cards=newJPanel();22.jp_cards.setLayout(cards);//步骤223.p1=newJPanel();24.p1.add(newJButton(按钮1));25.p1.add(newJButton(按钮2));26.p1.add(newJButton(按钮3));27.p2=newJPanel();28.p2.add(newJLabel(标签显示));29.jp_cards.add(,CARD1,p1);//步骤330.jp_cards.add(CARD2,p2);31.this.getContentPane().add(Center,jp_cards);32.c.addItemListener(this);33.}34.publicvoiditemStateChanged(ItemEvente){35.cards.show(jp_cards,(String)e.getItem());//步骤436.}37.publicstaticvoidmain(Stringargs[]){38.CardLayoutDemowindow=newCardLayoutDemo();39.window.setTitle(CardLayoutDemo);40.window.pack();41.window.setVisible(true);42.}43.}《Java程序设计项目化教程》西安电子科技大学出版社运行效果《Java程序设计项目化教程》西安电子科技大学出版社空布局(null布局)首先利用setLayout(null)语句将容器的布局设置为null布局(空布局)。再调用组件的setBounds(intx,inty,intwidth,intheight)方法设置组件在容器中的大小和位置。《Java程序设计项目化教程》西安电子科技大学出版社举例NullLayoutDemo.java1.importjava.awt.*;2.importjavax.swing.*;3.publicclassNullLayoutDemo{4.JFramefr;5.JButtona,b;6.NullLayoutDemo(){7.fr=newJFrame();8.fr.setBounds(100,100,250,150);9.fr.setLayout(null);10.a=newJButton(按钮a);11.b=newJButton(按钮b);12.fr.getContentPane().add(a);13.a.setBounds(30,30,80,25);14.fr.getContentPane().add(b);16.b.setBounds(150,40,80,25);17.fr.setTitle(NullLayoutDemo);18.fr.setVisible(true);19.}20.publicstaticvoidmain(Stringargs[]){21.newNullLayoutDemo();22.}23.}《Java程序设计项目化教程》西安电子科技大学出版社7.3任务实施——LoginPanel.java1.classLoginPanelextendsJPanel{2.privatestaticfinallongserialVersionUID=1L;3.privateJLabelnamelabel,pwdlabel,titlelabel;4.priva
本文标题:任务7――设计用户登录界面的布局
链接地址:https://www.777doc.com/doc-3264508 .html