Java 卡片布局管理器.doc_第1页
Java 卡片布局管理器.doc_第2页
Java 卡片布局管理器.doc_第3页
Java 卡片布局管理器.doc_第4页
Java 卡片布局管理器.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

练习10 卡片布局管理器本例知识点一句话讲解新学知识使用CardLayout类实现布局管理器的创建使用Button类制作按钮已学知识使用Color类设置颜色使用Panel类创建面板一、练习具体要求本例制作卡片布局管理器,运行效果如图10-1所示。执行本例实例后,将出现一个卡片布局管理器的界面,点击相应的按钮可以找到想要看到的卡片。本实例的知识点有:Panel类,CardLayout类和Button类的应用。二、程序及注释(1)编程思路:本例因为要制作卡片布局管理器,所以首先要构造框架窗体。先通过函数this.setLayout(new BorderLayout()设置Frame的布局管理器为BorderLayout;再两次实例化Panel类得到两个对象pnlCommandArea和pnlDisplayArea;然后通过函数this.add( pnlCommandArea, BorderLayout.NORTH)和函数this.add( pnlDisplayArea, BorderLayout.CENTER) 将两个Panel对象分别加入到布局管理器中。然后,因为要制作显示功能区域,所以先通过函数pnlDisplayArea.setLayout(cardlayout1)将显示功能区域Panel的布局管理器设置为CardLayout;再通过函数addActionListener(new ActionListener()为四个功能按钮设置事件监听器;最后通过函数pnlCommandArea.add( ) 把四个功能按钮加入到Panel。最后,因为要处理按钮事件,所以首先在处理按钮事件的函数processAction(ActionEvent e)里,先通过函数(Button)e.getSource()获取事件源,该函数返回一个Button类的对象btnEvent;再通过函数btnEvent.equals()就可以判断用户选择是哪个按钮。 (2) 程序实现及注释:/CardLayoutDemo.javaimport java.awt.*;import java.awt.event.*;public class CardLayoutDemo extends Frame/包含四个功能按钮的Panel的定义和创建Panel pnlCommandArea=new Panel();/显示功能Panel的定义和创建Panel pnlDisplayArea=new Panel();/CardLayout布局管理器的创建CardLayout cardlayout1=new CardLayout();/四个功能按钮的定义和创建Button btnFirst=new Button(第一个);Button btnPrevious=new Button(前一个);Button btnNext=new Button(后一个);Button btnLast=new Button(最后一个);/框架窗体的构造方法public CardLayoutDemo()super(卡片布局管理器);/四个功能按钮的颜色设置btnFirst.setBackground(Color.white);btnPrevious.setBackground(Color.white);btnNext.setBackground(Color.white);btnLast.setBackground(Color.white);/设置Frame的布局管理器为BorderLayoutthis.setLayout(new BorderLayout();/把两个Panel加入到布局管理器中this.add( pnlCommandArea, BorderLayout.NORTH);this.add( pnlDisplayArea, BorderLayout.CENTER);/把显示功能区域Panel的布局管理器设置为CardLayoutpnlDisplayArea.setLayout(cardlayout1);/创建第一个显示PanelPanel pnlFirst=new Panel();pnlFirst.setBackground(Color.yellow);pnlFirst.setForeground(Color.blue);pnlDisplayArea.add(first,pnlFirst);pnlFirst.add(new Label(这是第一张卡片) );/创建第二个显示PanelPanel pnlSecond=new Panel();pnlSecond.setBackground(Color.pink);pnlSecond.setForeground(Color.blue);pnlDisplayArea.add(second,pnlSecond);pnlSecond.add(new Label(这是第二张卡片) );/创建第三个显示PanelPanel pnlThird=new Panel();pnlThird.setBackground(Color.orange);pnlThird.setForeground(Color.blue);pnlDisplayArea.add(third,pnlThird);pnlThird.add(new Label(这是第三张卡片) );/创建第四个显示PanelPanel pnlFourth=new Panel();pnlFourth.setBackground(Color.green);pnlFourth.setForeground(Color.blue);pnlDisplayArea.add(fourth,pnlFourth);pnlFourth.add(new Label(这是第四张卡片) );/为四个功能按钮设置事件监听器btnFirst.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) processAction(e); );btnPrevious.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) processAction(e); );btnNext.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) processAction(e); );btnLast.addActionListener(new ActionListener()public void actionPerformed(ActionEvent e) processAction(e); );/把四个功能按钮加入到PanelpnlCommandArea.add( btnFirst );pnlCommandArea.add( btnPrevious );pnlCommandArea.add( btnNext );pnlCommandArea.add( btnLast );/程序的入口方法public static void main( String args )/创建框架窗体的实例CardLayoutDemo frmCardLayout = new CardLayoutDemo();/设置框架窗体的事件监听(关闭窗体事件)frmCardLayout.addWindowListener(new WindowAdapter()public void windowClosing(WindowEvent e)/正常退出Java虚拟机System.exit(0););/显示框架窗体frmCardLayout.pack();frmCardLayout.show();/设置框架窗体的大小为300300public Dimension getPreferredSize()return new Dimension(300,300);/处理按钮的事件private void processAction(ActionEvent e)/获取事件源(用户选择是哪个按钮)Button btnEvent=(Button)e.getSource();if( btnEvent.equals(btnFirst)cardlayout1.first( pnlDisplayArea );else if( btnEvent.equals(btnLast)cardlayout1.last( pnlDisplayArea );else if( btnEvent.equals(btnPrevious)cardlayout1.previous( pnlDisplayArea );else if( btnEvent.equals(btnNext)cardlayout1.next( pnlDisplayArea );三、练习效果(如图10-1所示)本实例代码编写完毕,存盘为:C: j2sdk1.4.0javaprograms CardLayoutDemo.java。打开计算

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论