结对编程1
本人学号:201421122038 coding.net:https://coding.net/Coopr/GUI-calc-project.git
队友学号:201421122022
一、需求分析(对作业一的增量开发)
1. 对错结果的记录
2 .计时器功能的实现
3 .语言切换功能
二、 程序设计
-
记录用户的对错总数,程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算。
-
有计时功能,能显示用户开始答题后的消耗时间。
-
界面支持中文简体/中文繁体/英语,用户可以选择一种;
![]()
三、 代码展示
1.计时器
jl = new JLabel(language[languageMode][4]);
jl.setBounds(350, 10, 70, 30);
c.add(jl);
jtf = new JTextField();
jtf.setBounds(400, 10, 70, 30);
jtf.setBackground(Color.white);
jtf.setText("0");
jtf.setHorizontalAlignment(JTextField.CENTER);
jtf.setEditable(false);
c.add(jtf);
timer = new Timer(1000, new ActionListener(){
public void actionPerformed(ActionEvent e) {
counter++;
jtf.setText(counter+"");
}
});
timer.start();
通过timer计时器类做计时功能,counter保存时间,每秒自加1。
2.中英文切换
private static String[][] language = {{"题目生成界面","计算式题目:","填写答案:","确认答案:","计时器:","正确率:","过去正确记录:"},
{"題木生成界面","計算式題目:","填寫答案:","確認答案","計時器:","正確率:","过去正確记录:"},
{"subject interface","Title:","Answer:","Confirm","timer:","correct:","correct record:"}};
jc.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
//获取下拉列表(语言)的索引
if(e.getStateChange() == ItemEvent.SELECTED){
languageMode = jc.getSelectedIndex();
jf.setTitle(language[languageMode][0]);
jb1.setText(language[languageMode][1]);
jb2.setText(language[languageMode][2]);
jb3.setText(language[languageMode][3]);
}
}
});
预先写好中英文,保存在String中,通过监听器获取下拉列表的索引改变语言。
四 、程序运行截图





五、小结感受
1.关于结对编程,通过共同讨论能过更快的找出解决方案,但由于各种原因一起编程的时间较少。
2.swing用的较少,导致UI界面不够美观。
六 、运用汉堡包式评价你的伙伴
1. 优点: 思维清晰,能想出好的办法去解决问题,注释到位,简洁明了。
2. 缺点: 比较不擅长交流。
3 .希望改进的地方: 编程过程应多交流。
七、 结对过程
1. 需求分析,确认好要写的功能
2. 分配好任务,我主要扩展一下基本功能和第一个功能,队友写2,3个功能。
3 .各自完成自己的功能部分,
4. 互相调试下代码
5. 完成项目的整合

八、psp



浙公网安备 33010602011771号