欢迎来到天天文库
浏览记录
ID:38581327
大小:47.00 KB
页数:6页
时间:2019-06-15
《Java 卡片布局管理器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、练习10卡片布局管理器本例知识点一句话讲解新学知识使用CardLayout类实现布局管理器的创建使用Button类制作按钮已学知识使用Color类设置颜色使用Panel类创建面板一、练习具体要求本例制作卡片布局管理器,运行效果如图10-1所示。执行本例实例后,将出现一个卡片布局管理器的界面,点击相应的按钮可以找到想要看到的卡片。本实例的知识点有:Panel类,CardLayout类和Button类的应用。二、程序及注释(1)编程思路:本例因为要制作卡片布局管理器,所以首先要构造框架窗体。先通过函数this.setLayout(newBorderLayout())设置Frame的布局管理器为
2、BorderLayout;再两次实例化Panel类得到两个对象pnlCommandArea和pnlDisplayArea;然后通过函数this.add(pnlCommandArea,BorderLayout.NORTH)和函数this.add(pnlDisplayArea,BorderLayout.CENTER)将两个Panel对象分别加入到布局管理器中。然后,因为要制作显示功能区域,所以先通过函数pnlDisplayArea.setLayout(cardlayout1)将显示功能区域Panel的布局管理器设置为CardLayout;再通过函数addActionListener(newAc
3、tionListener()为四个功能按钮设置事件监听器;最后通过函数pnlCommandArea.add()把四个功能按钮加入到Panel。最后,因为要处理按钮事件,所以首先在处理按钮事件的函数processAction(ActionEvente)里,先通过函数(Button)e.getSource()获取事件源,该函数返回一个Button类的对象btnEvent;再通过函数btnEvent.equals()就可以判断用户选择是哪个按钮。(2)程序实现及注释://CardLayoutDemo.javaimportjava.awt.*;importjava.awt.event.*;publ
4、icclassCardLayoutDemoextendsFrame{//包含四个功能按钮的Panel的定义和创建PanelpnlCommandArea=newPanel();//显示功能Panel的定义和创建PanelpnlDisplayArea=newPanel();//CardLayout布局管理器的创建CardLayoutcardlayout1=newCardLayout();//四个功能按钮的定义和创建ButtonbtnFirst=newButton("第一个");ButtonbtnPrevious=newButton("前一个");ButtonbtnNext=newButton(
5、"后一个");ButtonbtnLast=newButton("最后一个");//框架窗体的构造方法publicCardLayoutDemo(){super("卡片布局管理器");//四个功能按钮的颜色设置btnFirst.setBackground(Color.white);btnPrevious.setBackground(Color.white);btnNext.setBackground(Color.white);btnLast.setBackground(Color.white);//设置Frame的布局管理器为BorderLayoutthis.setLayout(newBord
6、erLayout());//把两个Panel加入到布局管理器中this.add(pnlCommandArea,BorderLayout.NORTH);this.add(pnlDisplayArea,BorderLayout.CENTER);//把显示功能区域Panel的布局管理器设置为CardLayoutpnlDisplayArea.setLayout(cardlayout1);//创建第一个显示PanelPanelpnlFirst=newPanel();pnlFirst.setBackground(Color.yellow);pnlFirst.setForeground(Color.bl
7、ue);pnlDisplayArea.add("first",pnlFirst);pnlFirst.add(newLabel("这是第一张卡片"));//创建第二个显示PanelPanelpnlSecond=newPanel();pnlSecond.setBackground(Color.pink);pnlSecond.setForeground(Color.blue);pnlDisplayArea.add("secon
此文档下载收益归作者所有