201621123086 《Java程序设计》第7周学习总结

1. 本周学习总结

1.1 思维导图:Java图形界面总结


2.书面作业

1. GUI中的事件处理

1.1 写出事件处理模型中最重要的几个关键词。

答: 事件源事件监听器监听接口事件

1.2 任意编写事件处理相关代码(程序中需要出现你的学号与姓名)并截图,以证明你理解了事件处理模型。

2. 大作业:使用图形界面改善你的购物车,考核点如下:

2.1 给出项目的分工表格与git地址

姓名 任务 GIT地址
张韵弢 注册登录购物车GUI 地址
黄泽鑫 搜索及GUI 地址

2.2 尝试使用图形界面改写(截图你的程序,图形界面中需要出现你的姓名)









购物车图形界面已完成,但内部方法还有待完善

2.3 将基于控制台界面的程序改写为基于GUI的程序这个过程碰到什么问题?总结:以后编写方法时,应该遵循一些什么原则?

遇到的问题:

  • 首先是JFrame之间数据的传送。因为java.awt.EventQueue.invokeLater(new Runnable())的存在,我不太清楚如何在JFrame之间传送参数。在查询网络以后,我发现这是帮助awt在单线程运作时按顺序进行处理的。然而在小程序中,并不会出现调度线程紊乱,所以暂时将其去掉。在随后代码编程过程中,我想到可以用文件存储与读取,而不借助参数,所以在学习JAVA文件处理后,我会改掉这一块。
  • 其次是细节问题(1),当程序无法搜索到商品时,会返回一个空的列表,对于空列表,我一开始没有注意。输出时进行了空指针报错,我花了一段时间排查这个问题。
  • 然后是细节问题(2),这个问题我卡了很长时间。说起来是一个十分小的错误:我在netbeans设置JTable时将价格一栏的属性设置为了double。然而我将其复制到eclipse输出时将double转换为了String(String二维数组)。这自然导致了错误,java.lang.IllegalArgumentException: Cannot format given Object as a Number。对此我调试了很久,现在想来,无论是编程时犯下这个错误,还是debug时花了那么长时间修改,都是没有必要的。编程过程中,留心,或是DEBUG时,去网上查找一下报错原因都可以为我省下大量时间,我要引以为戒。

总结:

  • 以后编写方法,最需要注意的就是细节。如果在编写过程中“省下”时间,在debug过程中就会花费更多的时间。
  • 要对症下药。程序出现问题,还是要先理解他的错误提示信息。此次,我因为他提示错误过多、过繁杂,而选择忽略错误提示信息,尝试自己更正,因此而花费大量时间。如果我能先去网上查一下报错信息,就会知道这是一个jtable很常见的问题。

2.4 给出几个人在码云上同一项目的提交记录截图。如果某个人无提交记录,视为未完成。

3.统计本周完成的代码量

周次 总代码量 新增代码量 总文件数 新增文件数
1 0 0 0 0
2 0 0 0 0
3 619 619 15 15
4 619 0 15 0
5 973 354 25 10
6 1394 421 37 12
7 2001 607 43 6
8 4046 2045 54 11
posted @ 2017-11-04 19:53  pirrat  阅读(256)  评论(1编辑  收藏  举报