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)退出

类图:
1080214-20170511201120957-1927044524.png

  • 程序设计思路:
  • 创建三个界面欢迎界面、登录界面、管理员界面。
  • 运行时首先出现欢迎界面,点击“进入系统”按钮,进入登录界面。
  • 应户名和密码输入正确后进入管理员界面,如果输入错误提出错误信息后退出系统
  • 在管理员界面进行添加、修改、删除、退出功能。
  • 实验问题分析:
    问题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历史截图
    1080214-20170511160854676-1714129403.png

转载于:https://www.cnblogs.com/jianghui111/p/6842466.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/355616.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

输出以下图案菱形7行_春夏格子图案超流行,三木的一款格子连衣裙,带来田园少女风...

春夏搭配中,增添了华丽格子图案搭配,从经典的格子裙子,到衬衫裙等。根据搭配不同而成为不同风格。所以,这一次,重点介绍格子裙和长衬衫的几种种搭配。格子裙子的春夏搭配推荐LOOK:1 [格子褶皱裙子棕色T恤]的…

使用Project Jigsaw的JDK 9 Early Access上的Eclipse IDE

几周前,我写了关于在Java 9上运行Eclipse Neon的文章 (尽管,我在帖子标题中错误地和令人尴尬地留下了“火星”)。 值得注意的是,我列出的步骤也适用于带有Project Jigsaw (Java模块化)构建的JDK…

arduino蜂鸣器_板卡推荐BPIUNO32 arduino 开发板,支持webduino与arduino应用

BPI:UNO32(也称为BPI-UNO32,被称为BPI UNO32)是一个带有Xtensa 32位LX6的单/双核心处理器的嵌入式系统的ESP32。支持Webduino和arduino的功能。BPI-UNO32使用的是esp-WROOM32,MCU。ESP32是一种集成2.4 GHz Wi-Fi和蓝牙双模式的单芯片解决方案。该公司的4…

Unity优化之GC——合理优化Unity的GC (难度3 推荐5)

原文链接:http://www.cnblogs.com/zblade/p/6445578.html 最近有点繁忙,白天干活晚上抽空写点翻译,还要运动,所以翻译工作进行的有点缓慢 。 本文续接前面的unity的渲染优化,进一步翻译Unity中的GC优化,英文…

centos重置系统_双系统下Linux系统无法启动及其引导丢失之解决

背景介绍: 很久很久以前, 我在 NewSurfacePro(SP5) 里插了一张 128G 内存卡, 费力九牛二虎之力在上面装了 Deepin, 后来在某次不知道是 Windows 还是 Deepin 更新后, Deepin 启动时总要发生一个极具 Linux 特色的启动错误, witch 似乎在我树莓派上出现过, 折腾了很久也没好, 就…

Java 7和Java 8之间的细微自动关闭合同更改

Java 7的try-with-resources语句和与该语句一起使用的AutoCloseable类型的一个不错的功能是,静态代码分析工具可以检测到资源泄漏。 例如,Eclipse: 具有以上配置并尝试运行以下程序时,您将收到三个警告: public stat…

reduce python3_更少循环?看看这3个Python函数

原标题:更少循环?看看这3个Python函数 全文共1146字,预计学习时长5分钟图源:wired 诞生于1991年的Python,这几年突然火了。简历上有了Python,就业竞争力瞬间提升,甚至一些小学教材上都出现了Pyt…

java图片上传(mvc)

最近有开始学起了java,好久没写文章了,好久没来博客园了。最近看了看博客园上次写的图片上传有很多人看,今天在一些篇关于java图片上传的。后台接收用的是mvc。不墨迹了,直接上图。 先看目录结构。idea开发。 一、图片上传还是使用的这款jq插件。前端部署…

appengine_Google AppEngine:任务队列API

appengine任务队列 com.google.appengine.api.taskqueue 使用任务队列,用户可以发起一个请求,以使应用程序执行此请求之外的工作。 它们是进行后台工作的强大工具。 此外,您可以将工作组织成小的离散单元(任务)。 然后…

Android studio Error occurred during initialization of VM 问题解决

最近开发导入其他Android项目遇见的问题,如下图: 解决办法: 将org.gradle.jvmargs的值该为521(堆内存分配过高导致) 备忘,希望能帮助到大家转载于:https://www.cnblogs.com/yunfang/p/6857096.html

滑动窗口限流 java_Spring Boot 的接口限流算法优缺点深度分析

点击上方蓝色字体,选择“标星公众号”优质文章,第一时间送达上一篇:这300G的Java资料是我师傅当年给我的,免费分享给大家(已修复)下一篇:昨天分享资料不小心把百度网盘深处的秘密泄露了(已修复)转自: loubobooo原文&am…

mips j指令_MIPS的基本实现

MIPS核心指令集:指令集概括为3个指令类:存储器访问指令类lw,sw等2. 算术逻辑指令类add,sub等3. 转移指令类beg,J等指令的共同性取指令,送PC值给Memory;根据指令内容读取寄存器内容;除…

腾讯管家去除桌面快捷小图标

找了大半天,原来腾讯管家也可以: 废话不多说,动手实践吧。。。。。 打开电脑管家——电脑诊所——桌面图标——【去掉快捷方式小箭头】 就这样轻松的实现了,赶快试试吧! 转载于:https://www.cnblogs.com/yjq520/p/6858…

argparse模块_Argparse:一个具体案例教会你python命令行参数解析

问题描述:现有一个用于数据格式转换的py脚本(多转一),执行时通过命令行传入一系列的参数控制其具体运行方式,使满足以下要求:1. 必须传入需要处理的原始数据文件名2. 可以指定输入文件的格式,若没有指定则使用默认值&a…

Eclipse中src/main/resources配置文件启动问题

项目pom文件有做修改如下的时候,还没有进行mvn clean install 启动test项目中的appcontext会 可以手动清空 然后就可以了。 出现如下问题的原因是 配置文件默认输出到target/classes 下 项目启动默认也会找该目录下的配置文件 其实这里pom文件拷贝配置文件只是用于读…

仍然不安全:变成了Java 9功能的Java 6中的主要错误

sun.misc.Unsafe的未来将如何发展? 随着2015年即将结束,我们认为这将是对Java社区过去一年中最热门辩论之一进行尸检的好机会。 通过查看标题,您中的大多数人可能已经开始在口腔中产生酸味并在肠道中产生愤怒的感觉,但是如果您错…

camvid数据集使用方法_使用PyTorch处理CIFAR10数据集并显示

在训练图像分类的时候,我们通常会使用CIFAR10数据集,今天就先写一下如何展示数据集的图片及预处理。第一部分代码,展示原始图像:import numpy as npimport torch#导入内置cifarfrom torchvision.datasets import cifar#预处理模块…

rhel 8.2不识别unicode_基于tensorflow 实现端到端的OCR:二代身份证号识别

最近在研究OCR识别相关的东西,最终目标是能识别身份证上的所有中文汉字数字,不过本文先设定一个小目标,先识别定长为18的身份证号,当然本文的思路也是可以复用来识别定长的验证码识别的。本文实现思路主要来源于Xlvector的博客&am…

Lua和C++交互详细总结

转载自:http://www.cnblogs.com/sevenyuan/p/4511808.html 一、Lua堆栈 要理解Lua和C交互,首先要理解Lua堆栈。 简单来说,Lua和C/C语言通信的主要方法是一个无处不在的虚拟栈。栈的特点是先进后出。 在Lua中,Lua堆栈就是一个struc…

adf开发_ADF BC:创建绑定到业务组件的UI表

adf开发在此示例中,我们将展示如何创建绑定到业务组件的简单UI表(af:table)。 我再次尝试使用简单的标准在网上进行搜索: “如何创建绑定到业务组件ADF 11g的af:table” 我必须承认我没有得到我想要的答案…