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

时间:2021-08-28 15:32:33

作业07-Java GUI编程


1.本周学习总结

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

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

1.2 可选:使用常规方法总结其他上课内容。

事件监听器:

Java事件监听器是由事件类和监听接口组成,自定义一个事件前,必须提供一个事件的监听接口以及一个事件类。JAVA中监听接口是继承java.util.EventListener的类,事件类继承java.util.EventObject的类。

常用事件监听器:

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

2.书面作业

1. GUI中的事件处理

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

  • 事件:用户所进行的操作,一般通过鼠标键盘之类的输入设备来执行。
  • 事件源:产生事件的组件。
  • 事件监听程序:对事件进行处理的操作。

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

事件处理相关代码:

import java.awt.Container;
import java.awt.event.*;
import java.net.URL;
import javax.swing.ImageIcon;
import javax.swing.*; class Test233 {
public Test233(){
JFrame jf = new JFrame("约吗"); //设置标题
Container container = jf.getContentPane(); //获取一个容器 URL url = Test.class.getResource("movie.jpg");
ImageIcon icon1 = new ImageIcon(url); //获取图片路径 icon1.setImage(icon1.getImage().getScaledInstance(380, 516, 100));
JLabel jl = new JLabel(icon1); //将图片添加到一个标签里
container.add(jl); //将标签添加进容器
jf.setVisible(true); //设置可见
jf.setSize(380,516); //设置尺寸
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//设置退出方法
} }
public class Test {
public static void main(String[] args) {
JFrame jf = new JFrame("201621123031-陈晓菲");
Container container = jf.getContentPane();
JButton b = new JButton("我是一只按钮");
container.add(b);
b.addActionListener(new ActionListener(){ //为按钮添加监听事件 @Override
public void actionPerformed(ActionEvent e) {
jf.setVisible(false);
new Test233(); } });
b.setVisible(true);
jf.setVisible(true);
jf.setSize(380,516);
jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); } }

运行结果:

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

在这个程序中,按钮为事件源,单击按钮为一个事件,单击后程序激活了事件监听器,开始了切换界面的事件的处理。

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

(补交上大作业 2017.11.6)

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

学生 负责任务
陈晓菲 大致框架的构建
廖文姑 界面具体布局
贾海涛 细节完善与代码结构调整
码云地址

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

登录界面

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

用户注册

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

用户登录

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

用户界面

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

商品信息

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

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

添加商品

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

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

结算

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

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

因为之前编写这个系统的时候没有很好的进行后期代码结构的调整,导致整个程序逻辑上很混乱,后面实现图形界面的时候很多简单的问题都要花很长时间去解决,血的教训……

然后就是eclipse上的默认字符集是GBK,而NetBeans IDE上的是UTF-8,因此在同步两个项目之间的代码时,中文会有乱码的现象出现。

以后编写方法的时候,要注意整个代码的规范性,多考虑方法的可维护性和拓展性,不要将方法随便与某些业务进行绑定。

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

码云上的项目就在刚刚不小心被我玩坏了,因此重新上传了一遍,在这给出之前的截图。

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

2.5 选做加分:通过LICEcap录制你的程序操作视频放到博客作业中。

视频由海涛同学录制,效果看起来也许还行?

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

3.其他:如果大作业实在搞不定,请完成实验任务书上的题目1、题目2、题目3。

题目一 NetBeans基本使用(GUI:计算A+B)

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

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

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

题目二 Swing用户界面组件与事件处理

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

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

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

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

题目三 使用NetBeans设计复杂用户界面(菜单)

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

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

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

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

5.选做:JavaFX入门

过程在教材中已经很详细了,在此只给出运行结果

第一部分:

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

第二部分:

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

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

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

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

需要将每周的代码统计情况融合到一张表中。

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

周次 总代码量 新增代码量 总文件数 新增文件数
2 607 607 15 15
3 1642 1035 33 18
5 2044 402 42 9
6 2874 830 57 15
7 3161 287 63 6
8 4299 1138 72 9