1、Java开发技术实验报告实验序号:实验07实验项目名称:编写类(二)学号姓名专业、班实验地点实1-316指导教师实验时间2012-10 -31一、 实验目的及要求l 掌握编写类的方法l 掌握方法声明和编写方法l 掌握事件、监听器的概念以及它们和GUI组件之间的关系l 了解Java事件处理机制二、实验设备(环境)及要求PC机,windows xp,软件环境(jdk1.6,tomcat web服务器,Eclipse)l 硬件要求:CPU PII 以上,64M 内存,100M 硬盘空间。l 软件要求:Windows98/Me/XP/NT/2000,IE 5 以上。l 开发环境:JDK1.6.0_10
2、, NotePad或者EditPlus。三、实验内容与步骤Voting with Buttons文件VoteCounter.java和VoteCounterPanel.java是基于PushCounter.java(见教材例子4.10)和PushCounterPanel.java(见教材例子4.11)改写的程序。我们假设每按下一次按钮,就为候选人Joe的投票数增加一票,例子中按钮和变量的名字都做了适当修改。1. 编译并运行程序,观察程序的运行结果。2. 修改程序,使程序包含两个候选人,分别是Joe和Sam。需要作如下修改:- 为Sam添加一个变量用于保存票数,另外添加按钮和标签。- 添加一个新
3、的内类SamButtonListener,用于监听对Sam按钮的点击行为。- 将按钮和标签装载到面板中3. 编译并运行程序。VoteCounterPanel.java的源代码如下:(红色表示修改程序的新增代码)import java.awt.*;import java.awt.event.*;import javax.swing.*;public class VoteCounterPanel extends JPanel private int votesForJoe;private JButton joe;private JLabel labelJoe;private int votesFo
4、rSam;private JButton sam;private JLabel labelSam;/Constructor: Sets up the GUIpublic VoteCounterPanel()votesForJoe = 0;joe = new JButton (Vote for Joe);joe.addActionListener(new JoeButtonListener();labelJoe = new JLabel(Votes for Joe: + votesForJoe);add(joe);add(labelJoe);setPreferredSize(new Dimens
5、ion(300, 40);setBackground(Color.cyan);votesForSam = 0;sam = new JButton (Vote for Sam);sam.addActionListener(new SamButtonListener();labelSam = new JLabel(Votes for Sam: + votesForSam);add(sam);add(labelSam);setPreferredSize(new Dimension(500, 40);setBackground(Color.cyan);private class JoeButtonLi
6、stener implements ActionListenerpublic void actionPerformed(ActionEvent event)votesForJoe+;labelJoe.setText(Votes for Joe: + votesForJoe);private class SamButtonListener implements ActionListenerpublic void actionPerformed(ActionEvent event)votesForSam+;labelSam.setText(Votes for Sam: + votesForSam)
7、;VoteCounter.java的源代码如下:import javax.swing.JFrame;public class VoteCounter /-/Creates the main program frame./-public static void main(String args)JFrame frame = new JFrame(Vote Counter);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.getContentPane().add(new VoteCounterPanel();frame.pack
8、();frame.setVisible(true);四、实验结果与数据处理1. 编译并运行程序,观察程序的运行结果。如下图:2. 修改程序,使程序包含两个候选人,分别是Joe和Sam。需要作如下修改:- 为Sam添加一个变量用于保存票数,另外添加按钮和标签。- 添加一个新的内类SamButtonListener,用于监听对Sam按钮的点击行为。- 将按钮和标签装载到面板中3. 编译并运行程序。结果如下图:五、分析与讨论通过本次实验,我掌握了创建一个有图形用户界面的java程序,知道要实例化并设置需要的组件,要实现监听器类,定义事件发生时程序该采取的动作,以及建立监听器类和组件之间的联系。了解到建立监听器对象是为了监听特定组件产生的特定事件。六、教师评语签名:日期:成绩
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1