第二篇 Scrum冲刺博客

第二篇 Scrum冲刺博客

Part one 作业地址

这个作业属于哪个课程 软件工程
作业要求 第二篇 Scrum冲刺博客
作业目标 团队集体协作完成项目开发,促进彼此间的交流

Part two 站立式会议

1.1 会议照片

注:由于有同学回家的原因,这次开会采用线上微信开会,主要讨论个人的进度问题以及做任务时候遇到的困难,然后大家一起解决。

1.2成员工作情况

成员 昨天已完成的工作 今天计划完成的工作 工作中遇到的困难
张天 做好接下来六天的计划 实现水平方向和竖直方向的商城管理器,设置组件内边距和外边距的工具类 对布局管理不熟悉,查阅了许多资料
黄炜恒 做了一些Swing的尝试,模拟环境 设计一些上架入驻模式的规则,并尝试实现 有些规则难以在实际中实现
黄浩捷 明确模块,下载windowsbuilder 进行简单的主界面的设置,添加按钮 不太熟悉windowsbuilder,捣鼓半天
陈伟升 明确任务 设计支付模块 跳转较为困难,不符合设计要求
曾广宁 构思排名榜模块的整体架构 一些具体细节如参数名等需要与其他同学进行协商
曾春华 明确自己的模块并查阅了相关资料 构思商品的整体架构 一些具体细节如商品名,以及商品模块等需要与其他同学进行协商

Part three 项目燃尽图


注:进度中一些比较耗费时间的任务已差不多完成,接下来的任务主要是对模块当中的一些细节进行优化。

Part four 代码/文档签入记录

3.1 代码签入

说明: 队员第一天git操作遇到问题未成功提交;工具类与第二天的代码结合一起才提交

3.2 Issue链接

成员 Issue链接
张天 实现一些工具组件类1
黄炜恒 商家入驻模块
黄浩捷 商城主界面
陈伟升 支付模块
曾广宁 商品的整体架构
曾春华 商品的整体架构

3.3 CodeReview代码规范文档

img

Part five 最新程序/模块

4.1 程序代码

package cn.homework.view;

import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.JPanel;
import javax.swing.BoxLayout;
import java.awt.Color;
import java.awt.Dimension;

import javax.swing.UIManager;
import java.awt.Font;
import java.awt.Image;

import javax.swing.border.EmptyBorder;

import cn.homework.util.SwingConsole;

import java.awt.Toolkit;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.SwingConstants;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

import java.io.*;

import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.SystemColor;

public class PINTU {

	public JFrame PINTU;
	
	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		PINTU window = new PINTU();
		
		SwingConsole.run(window.PINTU);
	}

	/**
	 * Create the application.
	 */
	public PINTU() {
		initialize();
	}

	/**
	 * Initialize the contents of the frame.
	 */
	public void closeThis(){
		PINTU.dispose();
	}
	
	private void initialize() {
		PINTU = new JFrame();//框架的相关设置
		PINTU.setIconImage(Toolkit.getDefaultToolkit().getImage(PINTU.class.getResource("/images/0427f65039b23489be76046b1cba8659.jpg")));
		
		PINTU.setTitle("\u62FC\u56FE\u6E38\u620F");
		PINTU.setBackground(Color.WHITE);//框架背景
		PINTU.getContentPane().setLayout(null);//将框架的布局管理器关掉
		
		
		JButton Button_1 = new JButton("\u7EC3\u4E60\u6A21\u5F0F");//练习模式的按钮
		Button_1.setFont(new Font("黑体", Font.PLAIN, 15));//字体设置
		Button_1.setForeground(Color.BLACK);
		Button_1.setBackground(Color.GREEN);//按钮背景色
		Button_1.addActionListener(new ActionListener() {//练习模式的按钮事件,即扩展具体功能
			public void actionPerformed(ActionEvent e) {
				/**
				 * 关闭当前窗口,打开选择图片的窗口
				 */
				closeThis();
			    SelectPractice s = new SelectPractice("选择当前图片");
			    SwingConsole.run(s);
			}
		});
		Button_1.setBounds(165, 60, 120, 30);//按钮位置
		PINTU.getContentPane().add(Button_1);//将按钮加入框架
		
		
		JButton Button_2 = new JButton("\u95EF\u5173\u6A21\u5F0F");//闯关模式的按钮
		Button_2.addActionListener(new ActionListener() {//闯关模式的按钮事件
			public void actionPerformed(ActionEvent e) {
				PINTU.dispose();
				CHUANGGUAN_view view2 = new CHUANGGUAN_view();
				
			}
		});
		Button_2.setFont(new Font("黑体", Font.PLAIN, 15));//字体设置
		Button_2.setBackground(Color.GREEN);//按钮背景色
		Button_2.setBounds(165, 135, 120, 30);//按钮位置
		PINTU.getContentPane().add(Button_2);//将按钮加入框架
		
		
		JButton button_3 = new JButton("\u6DFB\u52A0\u56FE\u7247");//添加本地图片的按钮
		button_3.addActionListener(new ActionListener() {//添加图片的按钮事件
			public void actionPerformed(ActionEvent e) {
				
				JFileChooser chooser = new JFileChooser();
		              chooser.setFileFilter(new FileNameExtensionFilter("JPG文件", "jpg"));
		              int ret = chooser.showOpenDialog(PINTU);
		              if(ret == JFileChooser.APPROVE_OPTION){
		        	File file = chooser.getSelectedFile();
		        	FileInputStream fis = null;
		        	FileOutputStream fos = null;
		        	try {
		        		fis = new FileInputStream(file);
		        		fos = new FileOutputStream("practise\\" + file.getName());
		        		int len = 0;
		        		byte[] buf = new byte[1024];
		        		while((len = fis.read(buf)) != -1) {
		        			fos.write(buf, 0, len);
		        		}
		        	} catch(IOException exception) {
		        		exception.printStackTrace();
		        	} finally {
		        		try {
							fis.close();
							fos.close();
						} catch (IOException e1) {
							e1.printStackTrace();
						}
		        		
		        	}
		        	JOptionPane.showMessageDialog(PINTU, "添加成功");
		        }	
			
			}
		});
		button_3.setFont(new Font("黑体", Font.PLAIN, 15));//字体设置
		button_3.setBackground(Color.GREEN);//按钮背景色
		button_3.setBounds(165, 210, 120, 30);//按钮位置
		PINTU.getContentPane().add(button_3);
		
		
		JLabel Label = new JLabel("");
		Label.setIcon(new ImageIcon(PINTU.class.getResource("/images/0427f65039b23489be76046b1cba8659.jpg")));
		Label.setBackground(Color.WHITE);
		ImageIcon image = new ImageIcon(PINTU.class.getResource("/images/0427f65039b23489be76046b1cba8659.jpg"));
		Label.setBounds(0, 0, 450, 300);
		PINTU.getContentPane().add(Label);
		
		
		ImageIcon[] imageIcon = new ImageIcon[1];
		PINTU.addComponentListener(new ComponentAdapter() {//拖动窗口监听,按钮、背景图随窗口大小自适应
            public void componentResized(ComponentEvent e) {  
                int width=PINTU.getWidth();//获取窗口宽度
                int height=PINTU.getHeight();//获取窗口高度
                Button_1.setBounds(width*11/30, height/5, width*12/45, height/10);//按钮随窗口大小自适应
                Button_2.setBounds(width*11/30, height*9/20,  width*12/45, height/10);
                button_3.setBounds(width*11/30, height*7/10,  width*12/45, height/10);
                
                PINTU.remove(Label);//背景图自适应
                Label.setBounds(0, 0, width, height);
                imageIcon[0] = new ImageIcon(image.getImage().getScaledInstance(width, height, Image.SCALE_DEFAULT));
                Label.setIcon(imageIcon[0]);
                Label.setHorizontalAlignment(SwingConstants.CENTER);
                PINTU.getContentPane().add(Label);
            }  

        }); 
	}
}

4.2 运行截图

图片名称 注:用户显示的界面 图片名称 注:用户支付界面

Part six 每人每日总结

成员 小结
张天 时间是挤出来的,继续压榨时间出来开发
黄炜恒 需要多尝试,多探索
黄浩捷 用时4小时以上,由于初使用windowsbuilder,不太熟练,摸索式前进。
陈伟升 我实现了java的支付模块,一开始学习也耗费了许多的时间,太难了
曾广宁 需要多学习,不然真的跟不上团队的速度
曾春华 完整而具体的构思,还有与同学良好的沟通是一个比较好的开始
posted @ 2020-11-08 13:18  半吟  阅读(118)  评论(0编辑  收藏  举报