Java 第七次作业

(一).学习总结#

1.事件处理模型中的关键词及其具体代码实例##

  • 委派事件模型

    • 当事件发生时,产生事件的对象(即事件源),会把此信息传给事件的聆听者处理的一种方式
  • 事件源

    • 事件源是一个产生(或触发)事件的对象。当这个事件源对象的某些状态以某种方式发生变化时,就会产生某种类型的事件
      (一个事件源可能会生成多个不同类型的事件)。如果某个组件(对象)希望得到事件源产生的事件,就需要在这个事件源上注册。
  • 事件

    • 事件就是承载事件源状态改变时的信息对象。java.awt.event包和javax.swing.event包中定义了各种事件类,类名以
      Event结尾。
  • 事件监听器接口

    • API对于每种事件都定义了对应的接口,接口中定义了处理该事件的方法,这些接口称为事件监听器接口。事件源产生一个事件,可以传送给事件监听者处理。 事件监听者实际上就是一个类,该类实现了某个事件监听器接口du对接受到的事件进行处理。
  • 实例

    • 使用匿名内部类进行事件处理
send.addActionListener(new ActionListener(){
     public void actionPerformed(ActionEvent e) {
          output.append(input.getText()+"\n");
          input.setText("");
     }
});

2.其他需要总结的内容##

  • 事件处理步骤

    • 确定事件源
      确定事件源:即发生事件的组件。Quit按钮

    • 确定事件类型
      确定事件源后,根据要处理事件确定事件类型。比如点击按钮事件是ActionEvent 关闭窗口事件是WindowEvent

    • 确定事件监听器接口,实现接口
      确定事件类型后,需要进一步确定处理该事件的监听器接口确定接口后,需要自定义事件处理类实现该接口。

    • 覆盖监听器接口中的适当方法
      自定义类实现监听器接口后,需要覆盖监听器中特定的方法。事件处理机制会根据用户的不同操作自动调用不同的方法。

    • 事件源注册监听器
      实现监听器后,需要对事件源注册监听器,方能生效。每个组件都有一系列的addXXXListener方法可以用来为组件注册不同的监听器。

  • 注册事件监听器的三种方法

    • 通过接口实现

    • 事件适配器

    • 匿名内部类

(二)实验总结#

1.宠物商店##

  • 程序设计思路:

    • 第一步,创建WelcomeFrame界面,点进入系统按钮进入宠物商店管理界面

    • 第二步,创建PetItem宠物类存放宠物属性,创建DataBase数据类,存放初始化的宠物信息,GUITools类对于界面组件显示的方法

    • 第三步,AdminDao类是对管理界面的按钮组件功能进行实现,AdminService类是对AdminDao类中的方法进行判断,AdminDialog类是对宠物商店管理界面的按钮组件功能进行实现,MainApp是运行项目类

  • 类图:

  • 欢迎界面

  • 宠物商店管理界面

  • 问题1:退出按钮出现不了,出现之后又出现半个

  • 原因:界面宽度不够

  • 解决方案:将界面大小的宽度400改成500,将exitBtn.setBounds(700, 400, 120, 50)改成 exitBtn.setBounds(350, 400, 120, 50)

  • 问题2:删除按钮出现不了,界面上的字会有重叠

  • 原因:按钮设置的位置大小不合适

  • 解决方案:将窗口大小改为this.setSize(500,450)

(三)代码托管#

https://git.oschina.net/hebau_cs15/hebau-cs01GHJ.git

1.码云历史截图##

2.commit历史截图##

posted @ 2017-05-11 21:56  长长长长的街道  阅读(285)  评论(0编辑  收藏  举报