201621123008《Java程序设计》第七周学习总结
1. 本周学习总结
1.1 思维导图:Java图形界面总结

2.书面作业
1. GUI中的事件处理
1.1 写出事件处理模型中最重要的几个关键词。
监听,事件源,事件,注册。
1.2 任意编写事件处理相关代码(程序中需要出现你的学号与姓名)并截图,以证明你理解了事件处理模型。
package GUI;
import javax.swing.*;
import java.awt.event.*;
/**
*
* @author 周文华
*
*/
public class SimpleGui1B implements ActionListener {
JButton button;
public void go() {
JFrame frame=new JFrame();
button=new JButton("click me");
button.addActionListener(this);
frame.getContentPane().add(button);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 300);
frame.setVisible(true);
}
@Override
public void actionPerformed(ActionEvent e) {
button.setText("I've been clicked");
}
public static void main(String[] args) {
SimpleGui1B gui=new SimpleGui1B();
gui.go();
}
}


2. 大作业:使用图形界面改善你的购物车,考核点如下:
2.1 给出项目的分工表格与git地址
| 成员 | 负责任务 | git地址 |
|---|---|---|
| 周文华 | 商品搜索 | 购物车1.2 |
| 肖文婷 | 购物车展示 | 购物车1.2 |
2.2 尝试使用图形界面改写(截图你的程序,图形界面中需要出现你的姓名)





2.3 将基于控制台界面的程序改写为基于GUI的程序这个过程碰到什么问题?总结:以后编写方法时,应该遵循一些什么原则?
使用了netbeans之后感觉轻松了不少,编写的一般过程是:1.向事件源注册2.重写注册方法,方法与用户的行为对应。3.尽量使一些方法更具有适用性。
2.4 给出几个人在码云上同一项目的提交记录截图。如果某个人无提交记录,视为未完成。


3.其他:如果大作业实在搞不定,请完成实验任务书上的题目1、题目2、题目3。
3.1 运行界面截图,需要出现你的学号与姓名。
题目1:

题目2:




3.2 截图在NetBeans中出现的关键代码,不得将代码复制到其他编辑器。
关键代码:
题目二:
private void loginButtonActionPerformed(ActionEvent e) {
String id = idField.getText();
String password = passwordField.getText();
String[] result = isExist(id);
if (result == null) {
JOptionPane.showMessageDialog(null, "该帐号不存在");
} else {
if (result[0].equals(id) && result[1].equals(password)) {
JOptionPane.showMessageDialog(null, "登录成功");
} else {
JOptionPane.showMessageDialog(null, "登录失败,帐号密码不匹配");
}
}
}
private void registerButtonActionPerformed(ActionEvent e) {
String id = idField.getText();
String password = passwordField.getText();
String[] result = isExist(id);
if (result == null) {
writeFile(id, password);
JOptionPane.showMessageDialog(null, "注册成功");
} else {
JOptionPane.showMessageDialog(null, "注册失败,该帐号已存在");
}
}
private String[] isExist(String id) {
String[] strList = new String[2];
try {
File file = new File("user.txt");
Scanner in = new Scanner(file);
while (in.hasNextLine()) {
String line = in.nextLine();
strList = line.split(" ");
if (strList[0].equals(id)) {
return strList;
}
}
in.close();
} catch (FileNotFoundException ex) {
}
return null;
}
private void writeFile(String id, String password) {
String matching = id + " " + password;
try {
File file = new File("user.txt");
PrintWriter out = new PrintWriter(file);
out.println(matching);
out.close();
} catch (FileNotFoundException ex) {
ex.printStackTrace();
}
}
3.统计本周完成的代码量
需要将每周的代码统计情况融合到一张表中。

| 周次 | 总代码量 | 新增文件代码量 | 总文件数 | 新增文件数 |
|---|---|---|---|---|
| 1 | 665 | 20 | 20 | 20 |
| 2 | 1705 | 23 | 23 | 23 |
| 3 | 1834 | 30 | 30 | 30 |
| 4 | 1073 | 1073 | 17 | 17 |
| 5 | 1073 | 1073 | 17 | 17 |
| 6 | 2207 | 1134 | 44 | 27 |
| 7 | 3292 | 1085 | 59 | 15 |
| 8 | 3505 | 213 | 62 | 3 |
201621123008《Java程序设计》第七周学习总结的更多相关文章
- 201521123027 <java程序设计>第七周学习总结
1.本周学习总结 2.书面作业 Q1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 答: 源代码: //contains()方法 public boolean c ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第七周学习总结
201871010106-丁宣元 <面向对象程序设计(java)>第七周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
- 20145237 《Java程序设计》第九周学习总结
20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
- 20175209 《Java程序设计》第九周学习总结
20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...
- 20175317 《Java程序设计》第九周学习总结
20175317 <Java程序设计>第九周学习总结 学前准备 首先下载XAMPP,下载完成后打开: 将前两个选项打开 在IDEA中配置驱动mysql-connector-java-5.1 ...
随机推荐
- js判断当前为pc端还是wap端
var checkBrowser; function browserRedirect() { var sUserAgent = navigator.userAgent.toLowerCase(); v ...
- mysql更新(五) 完整性约束 外键的变种 三种关系 数据的增删改
11-数据的增删改 本节重点: 插入数据 INSERT 更新数据 UPDATE 删除数据 DELETE 再来回顾一下之前我们练过的一些操作,相信大家都对插入数据.更新数据.删除数据有了全面的认识. ...
- 数据库,mysql
数据库(`database`): ### 关系型数据库及非关系型数据库1. 什么是关系型数据库? 关系型数据库是一种建立在关系模型上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据.现实世 ...
- case功能菜单选项
脚本aim; 实现如下功能菜单并实现相应的功能;同在之前公司的一个游戏控制脚本; 1),显示当前时间; 2),显示cpu负载 3),显示剩余内存 0),退出脚本 如图菜单界面
- Xeon Phi 编程备忘
▶ 闲鱼的 Xeon Phi 3120A 配办公室的新 Xeon 服务器,记录一下环境安装过程. ● 原本尝试搭 Ubuntu 服务器,参考[https://software.intel.com/en ...
- zabbix监控windows用户登陆情况
https://yq.aliyun.com/articles/511381 添加登录失败监控项: 特别注意:把类型设置为:文本格式,否则会报类型错误. eventlog[Security,," ...
- jpa-jpql-basic-test
jpql 基本测试 //可以使用 JPQL 完成 UPDATE 和 DELETE 操作. @Test public void testExecuteUpdate(){ String jpql = &q ...
- angular ng-bind-html
使用ng-bind-html 可以在页面上展示html内容,让html内容加进去后不是一代码形式出现,而是以页面形式展现 需要先引入angular-sanitize.min.js,这个可以在githu ...
- 敏捷:什么是用户故事(User Story)
摘要: 一件用户通过系统完成他一个有价值的目标(买一罐饮料)的事.这样的过程就叫"用户案例(user case)"或者"用户故事(user story)".本文 ...
- ASCII字符串互换
//ASCII码转成字符: var a:String=String.fromCharCode(97); trace(a);//输出:a //字符转成ASCII码: var str:String = “ ...