zoukankan      html  css  js  c++  java
  • 结对编程网络15 郑子杰201521123021

    结对编程

    0.项目成员

    郑子杰 201521123021
    黄俊麟 201521123022

    1.码云地址

    https://gitee.com/paitouzi/pair_programming

    2.实验分析

    (1)需求分析

    本次实验直接编写,无改进代码,进行的是独立编程。编写一个简单的界面类似ios的计算器,能够实现加减乘除等基础运算。对图形界面的初始化和图形界面的排版设计以及主函数的编写和监听器的设置。

    (2)程序设计

    参考iPhone计算器的图形界面,找出特点与所具备的功能特性,以及整体的格局分部,在草稿纸先画出具体的图形界面。

    (3)代码展示

    本次计算器图形界面的设计思路是以iPhone的计算器为模板,参考iPhone的计算机界面,输出置于整个计算器的上端位置,与边界距离较小。由于这个计算器要能在电脑上使用,因此增加了一个可伸缩的功能。

          private void init() {
    		this.setTitle("精仿iphone计算器");
    		this.setResizable(true);//设置窗口体大小可变
    		// 主面板
    		JPanel mainPanel = new JPanel();//创建一个容器类的面板
    		// 输入框面板(北)
    		mainPanel.setLayout(new BorderLayout(FIELD_HGAPS,FIELD_WGAPS));//设置边界的距离
    		mainPanel.add(getTextField(), BorderLayout.NORTH);//将计算结果放在整个面板的北部
    		mainPanel.setPreferredSize(new Dimension(PRE_WIDTH,PRE_HEIGHT));//设置窗口大小
    

    对于这个输入框的初始化依旧参考iPhone的风格,黑底白字。不像其他计算器,iPhone计算器的初始化值为0且要位于输入框的右侧。还有手机计算器不像电脑计算器可以在输入框中编辑,因此将此功能禁用,仅仅支持复制黏贴的功能。

    	private JTextField getTextField() {
    		if (textInput == null) {
    			textInput = new JTextField("0");//初始值定义为0
    			textInput.setEditable(false);//输入框不可被编辑(仅允许复制粘贴)
    			textInput.setBackground(new Color(0,0,0));//设置输出背景框颜色为黑色
    			textInput.setForeground(new Color(255,255,255));//设置输出字体颜色为白色
    			textInput.setHorizontalAlignment(JTextField.RIGHT);//向右边开始对齐
    			textInput.setFont(new Font("宋体", Font.BOLD, 50));//设置字体样式为宋体,加粗,像素为50
    		}
    		return textInput;
    	}
    

    至于数字键和符号键依旧沿用iPhone灰橙搭配的风格,将最右边置为符号键,且按键为橙色,字体为白色。保证整体格局的相似性。

    private JButton[] getRButton() {
    		JButton[] result = new JButton[resetOp.length];
    		for (int i = 0; i < this.resetOp.length; i++) {
    			JButton b = new JButton(resetOp[i]);//完成各个按钮的匹配
    			if(i==3)
    			{
    				b.setBackground(new Color(250,128,10));//背景为橙色
    				b.setForeground(new Color(255,255,255));//字体为白色
    			}//判断是否为最右边那个按钮
    			else
    			{
    			b.setBackground(new Color(233,233,216));
    			}//其他按钮设置为银灰色
    			b.setFont(new Font("宋体", Font.BOLD, 16));//设置字体格式
    			b.addActionListener(getActionListener());//设置监听
    			result[i] = b;
    		}
    		return result;
    	}
    

    (4)功能展示

    (5)小结

    ①本学期第一次结对编程,之前的编程基础较差,在各个论坛中查阅了许多资料,学到了很多东西。
    ②一开始有这样的想法觉得是异想天开,后来发现,只要坚持不断的探索,不断的提问,就可以离目标更近一点。
    ③结对编程,可以互相监督,互相帮助,加快整个进程。

    3.结对编程

    结对编程可以看成是一个小型的团队的合作,有人的地方就有分歧,如何处理分歧在这次结对编程中显得尤为总要。虽然各有分工,但对于整体的走向都有自己看法。在此过程中我们应该多听队友的意见和分析,与自己的看法相结合,找到共存点才能让整个设计更好的走下去。

    4.时间统计

  • 相关阅读:
    java.lang.NoSuchMethodError: org.springframework.util.Assert.state(ZLjava/util/function/Supplier;)V
    数据结构中常见的树
    ConcurrentHashMap原理分析
    Synchronized锁升级
    thread.join() 阻塞原理分析
    mysql数据精度丢失问题深入探讨
    ThreadPoolExecutor线程池原理
    JVM的内存区域划分(jdk7和jdk8)
    多线程AQS
    Centos 的防火墙(firewalld,iptables)
  • 原文地址:https://www.cnblogs.com/I-love-java/p/8625851.html
Copyright © 2011-2022 走看看