JAVA第七次作业

(一)学习总结

1.写出事件处理模型中的几个关键词,并通过具体代码实例说明你对事件处理模型的理解

Java事件处理三要素:

1) 事件源(Event Source):即事件发生的场所,就是指各个组件,如按钮等,点击按钮其实就是组件上发生的一个事件;

2) 事件(Event):事件封装了组件上发生的事情,比如按钮单击、按钮松开等等;

3) 事件监听器(Event Listener):负责监听事件源上发生的特定类型的事件,当事件到来时还必须负责处理相应的事件;

public class AwtTest {

Frame f = new Frame("Event Test");
TextField tf = new TextField(30);
Button ok = new Button("OK");

class OkListener implements ActionListener {

    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        System.out.println("OK button pushed!");
        tf.setText("Hello!");
    }
    
}

public void init() {
    f.add(tf);
    f.add(ok, BorderLayout.SOUTH);
    
    ok.addActionListener(new OkListener());
    
    f.pack();
    f.setVisible(true);
}

public static void main(String[] args) {
    
    new AwtTest().init();
}

}

事件源-监听器多对多示例:

public class AwtTest {

Frame f = new Frame("Multiple Event Test");
TextArea ta = new TextArea(6, 40);

Panel p = new Panel();
Button btn1 = new Button("button1");
Button btn2 = new Button("button2");

class Listener1 implements ActionListener {

    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        ta.append("Listener1 be activated! Event Source:" + e.getActionCommand() + "\n");
    }

}

class Listener2 implements ActionListener {

    @Override
    public void actionPerformed(ActionEvent e) {
        // TODO Auto-generated method stub
        ta.append("Listener2 be activated! Event Source:" + e.getActionCommand() + "\n");
    }

}

public void init() {
    f.add(ta);
    p.add(btn1);
    p.add(btn2);
    f.add(p, BorderLayout.SOUTH);
    
    Listener1 l1 = new Listener1();
    Listener2 l2 = new Listener2();
    
    btn1.addActionListener(l1);
    btn2.addActionListener(l1);
    btn2.addActionListener(l2);
    
    f.pack();
    f.setVisible(true);
}

public static void main(String[] args) {

    new AwtTest().init();
}

}

(二)实验总结

实验内容:

基本要求:

使用GUI,编写一个宠物商店管理系统实现对宠物信息的统一管理。假设宠物种类有猫、狗,宠物信息包括:编号、品种、年龄、数量、价格。系统启动进入登录界面,登录成功进入管理界面,否则提出错误信息后退出系统。

在管理界面实现以下功能:

(1)显示所有宠物列表

(2)添加宠物到列表

(3)删除宠物

(4)对宠物信息进行修改

(5)退出

功能扩展:

用户分为管理员和普通用户两种,增加普通用户注册功能,增加普通用户界面。

实现以下功能:

(1)显示所有宠物

(2)能够按照品种对宠物进行查找

(3)购买宠物

(4)显示购买清单

(5)退出

程序设计思路:

1.定义一个宠物信息Petmessage类,定义宠物的编号、姓名、种类、年龄、价格、数量属性和get、set方法。

2、定义一个宠物店的信息PetBase类,宠物店里有哪些宠物,用集合来存储宠物信息。

3,、定义一个管理员访问信息Administrator类,当访问宠物商店时展示商店里有那些宠物,并且定义添加宠物和删除宠物的方法。

4、定义一个管理员管理宠物AdministratorSever类,定义方法展示所有的宠物,定义添加方法添加宠物。

5、定义一个Tool类,确定视图中登录界面和展示界面的窗口位置。

1079978-20170511103010113-81871631.png

(三)代码托管(https://git.oschina.net/hebau_cs15/shiyanqi.git)

•码云commit历史截图

上传实验项目代码到码云,在码云项目中选择“统计-commits”,设置搜索时间段,搜索本周提交历史,并截图。

1079978-20170511103238519-404587563.png

转载于:https://www.cnblogs.com/hukauihui/p/6839641.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值