一、站立式会议
1.1 会议照片
1.2成员工作情况
成员 |
昨天已完成的工作 |
今天计划完成的工作 |
工作中遇到的困难 |
马文辉 |
做好接下来六天的计划 |
实现水平方向和竖直方向的布局管理器,设置组件内边距和外边距的工具类 |
对布局管理不熟悉,查阅了许多资料 |
卢力衔 |
做了一些Swing的尝试,模拟环境 |
设计一些闯关模式的规则,并尝试实现 |
有些规则难以在实际中实现 |
张朝阳 |
明确模块,下载windowsbuilder |
进行简单的主界面的设置,添加按钮 |
不太熟悉windowsbuilder,捣鼓半天 |
张龙伟 |
明确任务 |
设计倒计时程序 |
没有用swing实现,不符合设计要求 |
周勇铨 |
无 |
构思排名榜模块的整体架构 |
一些具体细节如参数名等需要与其他同学进行协商 |
二、项目燃尽图
三、代码/文档签入记录
3.1 代码签入
- 补充说明: 队员第一天git操作遇到问题未成功提交;工具类与第二天的代码结合一起才提交
3.2 Issue链接
3.3 CodeReview代码规范文档
四、最新程序/模块
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("u62FCu56FEu6E38u620F");
PINTU.setBackground(Color.WHITE);//框架背景
PINTU.getContentPane().setLayout(null);//将框架的布局管理器关掉
JButton Button_1 = new JButton("u7EC3u4E60u6A21u5F0F");//练习模式的按钮
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("u95EFu5173u6A21u5F0F");//闯关模式的按钮
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("u6DFBu52A0u56FEu7247");//添加本地图片的按钮
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 运行截图
五、每人每日总结
成员 |
小结 |
马文辉 |
时间是挤出来的,继续压榨时间出来开发 |
卢力衔 |
需要多尝试,多探索 |
张朝阳 |
用时4小时以上,由于初使用windowsbuilder,不太熟练,摸索式前进。 |
张龙伟 |
我实现了java的计时程序,可是这跟我的计时窗口,又有什么关系呢。奔溃 |
周勇铨 |
完整而具体的构思,还有与同学良好的沟通是一个比较好的开始 |