JAVA第七次作业

《Java技术》第七次作业

(一)学习总结

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

  • WindowListener:窗体事件,专门处理窗体的事件监听口,窗体的所有变化都可以使用此接口进行监听

      import java.awt.Color;
      import javax.swing.JFrame;
      public class MyWindowEventJFrame{
      	public static void main(String[] args){
      		JFrame frame=new JFrame("Welcome");
      		frame.addWindowListener(new MyWindowEventJHandle());
      		frame.setSize(300,160);
      		frame.setBackground(Color.WHITE);
      		frame.setLocation(300,200);
      		frame.setVisible(true);
      	}
      }
    
  • Adapter:适配器类,方便用户进行事件的处理。

      import java.awt.Color;
      import java.awt.event.WindowAdapter;
      import java.awt.event.WindowEvent;
      import javax.swing.JFrame;
      public class MyWindowEventJFrame{
      	public static void main(String[] args){
      		JFrame frame=new JFrame("Welcome");
      		frame.addWindowListener(new WindowAdapter(){
      			public void windowClosing(WindowEvent arg0){
      				System.exit(1);
      			}
      		});
      		frame.setSize(300,160);
      		frame.setBackground(Color.WHITE);
      		frame.setLocation(300,200);
      		frame.setVisible(true);
      	}
      }
    
  • ActionListener:处理按钮的动作事件。接口的方法:void actionPerformed(ActionEvet e),在发生操作时调用。

  • KeyListener:对键盘的操作进行监听。在键监听中,KeyAdapter适配器也可以完成键盘事件的监听

  • KeyEvent:取得键盘输入的内容。

  • 事件源: 事件源是一个产生(或触发)事件的对象。

  • 事件:事件就是承载事件源状态改变时的信息对象。

  • 事件监听器接口:API对于每种事件都定义了对应的接口,接口中定义了处理该事件的方法,这些接口称为事件监听器接口。

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

  • 确定时间类型: 确定事件源后,根据要处理事件确定事件类型。

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

      public class QuitHandler implements ActionListener{
            public void actionPerformed(ActionEvent arg0) {
              }
      }
    

(二)实验总结

1.实验内容:
基本要求:
使用GUI,编写一个宠物商店管理系统实现对宠物信息的统一管理。假设宠物种类有猫、狗,宠物信息包括:编号、品种、年龄、数量、价格。系统启动进入登录界面,登录成功进入管理界面,否则提出错误信息后退出系统。
在管理界面实现以下功能:
(1)显示所有宠物列表
(2)添加宠物到列表
(3)删除宠物
(4)对宠物信息进行修改
(5)退出
功能扩展:
用户分为管理员和普通用户两种,增加普通用户注册功能,增加普通用户界面。
实现以下功能:
(1)显示所有宠物
(2)能够按照品种对宠物进行查找
(3)购买宠物
(4)显示购买清单
(5)退出

类图:

  • 程序设计思路:
  • 创建三个界面欢迎界面、登录界面、管理员界面。
  • 运行时首先出现欢迎界面,点击“进入系统”按钮,进入登录界面。
  • 应户名和密码输入正确后进入管理员界面,如果输入错误提出错误信息后退出系统
  • 在管理员界面进行添加、修改、删除、退出功能。
  • 实验问题分析:
    问题1:登录界面没有居中显示。
    原因:居中语句不知道放在哪里。
    解决方案:将居中语句放入设置窗口的语句下面。

     frame.setSize(450,400);
     frame.setVisible(true);
     GUITools.center(frame);    //窗口居中			
    

    问题2:登录界面进入管理员界面时,没有退出系统。
    原因:没有理解好退出语句应该怎么使用。参考的是欢迎界面的退出语句。

        if (log.vaildate()) {
     						infoLab.setText("登陆成功,欢迎光临!");
     						this.setVisible(false);
     						new AdminDialog().setVisible(true);
     					   }
    

    解决方案:从一个窗口进入下一个窗口时,这次的窗口应该设置为不可视的。定义窗口为frame,所以应该是关闭frame。

    	if (log.vaildate()) {
     					infoLab.setText("登陆成功,欢迎光临!");
     					frame.setVisible(false);
     					new AdminDialog().setVisible(true);
     			 	    } 
    

(三)代码托管

  • 码云commit历史截图
posted @ 2017-05-11 19:55  luhan1  阅读(139)  评论(0编辑  收藏  举报