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

作业07-Java GUI编程


1.本周学习总结

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

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

事件监听器:

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

常用事件监听器:

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);
		
	}

}

运行结果:

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

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

(补交上大作业 2017.11.6)

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

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

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

登录界面

用户注册

用户登录

用户界面

商品信息


添加商品

结算

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

因为之前编写这个系统的时候没有很好的进行后期代码结构的调整,导致整个程序逻辑上很混乱,后面实现图形界面的时候很多简单的问题都要花很长时间去解决,血的教训……
然后就是eclipse上的默认字符集是GBK,而NetBeans IDE上的是UTF-8,因此在同步两个项目之间的代码时,中文会有乱码的现象出现。
以后编写方法的时候,要注意整个代码的规范性,多考虑方法的可维护性和拓展性,不要将方法随便与某些业务进行绑定。

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

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

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

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

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

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



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




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



5.选做:JavaFX入门

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

第二部分:


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

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

周次 总代码量 新增代码量 总文件数 新增文件数
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
posted @ 2017-11-04 17:01  一只水饺  阅读(369)  评论(4编辑  收藏  举报