计算机软件实习每日学习打卡(2)20201203

实验序号:实验一
实验名称:简单计算器的实现
实验要求

  1. 学习图形界面的设计,利用 MFC 应用程序(Java swing 或 QT 框架,或 C#)创建基于对话框的应用程序,添加按钮、编辑框等控件;
  2. 能通过设计的按钮控件输入并实现简单算术运算,要求表达式在编辑框中显示,能将运算结果,输出在编辑框内显示;并保存历史的表达式运算记录。
  3. 也能够实现混合运算的算术表达式求解,算术表达式中包括加、减、乘、除、括号等运算符;并且能够识别括号,优先级正确。

日志
1.完成的部分:对按钮格式,计算器显示格式和整体格式进行规范和初始化,并进行封装。

2.代码如下:

package experiment1;

import javax.swing.*;
import javax.swing.border.LineBorder;
import java.awt.*;

class Layout{
	public static void run() {
		JFrame jf = new JFrame("测试窗口");
        jf.setSize(150,150);
        JTextField view = null;
        jf.setResizable(false);
        
    	view = new JTextField("0");
    	view.setHorizontalAlignment(JTextField.RIGHT);
    	//设置为只读
    	view.setEditable(false);
    	//设置背景色
    	view.setBackground(new Color(192, 192, 192));
    	//设置字体 粗细 大小
    	view.setFont(new Font("Cambria", Font.BOLD, 20)); 
    	
        //键盘布局构建
        JPanel panel01 = new JPanel(new GridLayout(3, 4, 10, 10));
        JPanel panel02 = new JPanel(new GridLayout(1, 3, 10, 10));
        JPanel panel03 = new JPanel(new GridLayout(1, 1, 10, 10));
        JPanel panel04 = new JPanel(new GridLayout(1, 1, 10, 10));
        JPanel panel05 = new JPanel(new GridLayout(1, 1, 10, 10));

        //定义按钮
        JButton btn01 = new JButton("1");
        btn01.setBackground(Color.white);
        btn01.setBorder(new LineBorder(Color.black,1));
        
        JButton btn02 = new JButton("2");
        btn02.setBackground(Color.white);
        btn02.setBorder(new LineBorder(Color.black,1));
        
        JButton btn03 = new JButton("3");
        btn03.setBackground(Color.white);
        btn03.setBorder(new LineBorder(Color.black,1));
        
        JButton btn04 = new JButton("4");
        btn04.setBackground(Color.white);
        btn04.setBorder(new LineBorder(Color.black,1));
        
        JButton btn05 = new JButton("5");
        btn05.setBackground(Color.white);
        btn05.setBorder(new LineBorder(Color.black,1));
        
        JButton btn06 = new JButton("6");
        btn06.setBackground(Color.white);
        btn06.setBorder(new LineBorder(Color.black,1));
        
        JButton btn07 = new JButton("7");
        btn07.setBackground(Color.white);
        btn07.setBorder(new LineBorder(Color.black,1));
        
        JButton btn08 = new JButton("8");
        btn08.setBackground(Color.white);
        btn08.setBorder(new LineBorder(Color.black,1));
        
        JButton btn09 = new JButton("9");
        btn09.setBackground(Color.white);
        btn09.setBorder(new LineBorder(Color.black,1));
        
        JButton btn10 = new JButton("0");
        btn10.setBackground(Color.white);
        btn10.setBorder(new LineBorder(Color.black,1));
        
        JButton btn11 = new JButton("+");
        btn11.setBackground(Color.white);
        btn11.setBorder(new LineBorder(Color.black,1));
        
        JButton btn12 = new JButton("-");
        btn12.setBackground(Color.white);
        btn12.setBorder(new LineBorder(Color.black,1));
        
        JButton btn13 = new JButton("*");
        btn13.setBackground(Color.white);
        btn13.setBorder(new LineBorder(Color.black,1));
        
        JButton btn14 = new JButton("/");
        btn14.setBackground(Color.white);
        btn14.setBorder(new LineBorder(Color.black,1));
        
        JButton btn15 = new JButton("(");
        btn15.setBackground(Color.white);
        btn15.setBorder(new LineBorder(Color.black,1));
        
        JButton btn16 = new JButton(")");
        btn16.setBackground(Color.white);
        btn16.setBorder(new LineBorder(Color.black,1));
        
        JButton btn17 = new JButton("C");
        btn17.setBackground(Color.white);
        btn17.setBorder(new LineBorder(Color.black,1));
        
        JButton btn18 = new JButton("=");
        btn18.setBackground(Color.white);
        btn18.setBorder(new LineBorder(Color.black,1));
        
        
        btn01.setPreferredSize(new Dimension(60,60));
        btn04.setPreferredSize(new Dimension(60,60));
        btn10.setPreferredSize(new Dimension(130,60));
        btn17.setPreferredSize(new Dimension(60,60));
        btn18.setPreferredSize(new Dimension(60,130));
        view.setPreferredSize(new Dimension(270,60));
        
        panel01.add(btn11);
        panel01.add(btn12);
        panel01.add(btn13);
        panel01.add(btn14);
        panel01.add(btn07);
        panel01.add(btn08);
        panel01.add(btn09);
        panel01.add(btn15);
        panel01.add(btn04);
        panel01.add(btn05);
        panel01.add(btn06);
        panel01.add(btn16);
        panel02.add(btn01);
        panel02.add(btn02);
        panel02.add(btn03);
        panel03.add(btn10);
        panel04.add(btn17);
        panel05.add(btn18);
        
        //装箱布局
        //创建间隔
        Component vStrut01 = Box.createVerticalStrut(10);
        Component vStrut02 = Box.createVerticalStrut(10);
        Component vStrut03 = Box.createVerticalStrut(10);
        Component vStrut04 = Box.createVerticalStrut(10);
        Component vStrut05 = Box.createVerticalStrut(10);
        Component hStrut01 = Box.createHorizontalStrut(10);
        Component hStrut02 = Box.createHorizontalStrut(10);
        Component hStrut03 = Box.createHorizontalStrut(10);
        Component hStrut04 = Box.createHorizontalStrut(10);
        
        Box hBox01 = Box.createHorizontalBox();
        hBox01.add(panel03);
        hBox01.add(hStrut01);
        hBox01.add(panel04);
        
        Box vBox01 = Box.createVerticalBox();
        vBox01.add(panel02);
        vBox01.add(vStrut01);
        vBox01.add(hBox01);
        
        Box hBox02 = Box.createHorizontalBox();
        hBox02.add(vBox01);
        hBox02.add(hStrut02);
        hBox02.add(panel05);
        
        Box vBox02 = Box.createVerticalBox();
        vBox02.add(vStrut02);
        vBox02.add(view);
        vBox02.add(vStrut03);
        vBox02.add(panel01);
        vBox02.add(vStrut04);
        vBox02.add(hBox02);
        vBox02.add(vStrut05);
        
        Box hBox03 = Box.createHorizontalBox();
        hBox03.add(hStrut03);
        hBox03.add(vBox02);
        hBox03.add(hStrut04);

        jf.setContentPane(hBox03);
        jf.pack();
        jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        jf.setLocationRelativeTo(null);
        jf.setVisible(true);
	}
public class Calculator {
	
}
	public static void main(String[] args) {
		Layout.run();
	}
}

3.实例图片:在这里插入图片描述
4. 目前未解决的问题

1钮还未设置触发器。
2计算部分还未完成。

5 .明天的目标
1.完成运算部分和显示部分

学习的资料

《Java程序设计教程》机械工业出版社 程科 潘磊主编 ISBN 978-7-111-50902-8

20201203

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值