Java期末课设——计算器模拟程序
团队名称介绍
团队名称:迎面走来的你让我如此蠢蠢欲动
团队成员:
成员 | 职务 | 负责部分 |
---|---|---|
黄汉聪 | 组长 | 面向对象设计、图形界面设计 |
刘建东 | 组员 | 实现栈和队列、运算式计算 |
项目Git地址
https://gitee.com/one-point-three-doesnt-work/calculator.git
前期调查
Windows的计算器,有分标准型、科学型等不同类型。
标准型计算器具有加减乘除、小数点、正负号、求倒数、退格、开平方根、清零和记忆等功能。
再参考任务书中的参考界面进行设计:
项目功能架构图及主要功能流程图
面向对象设计包图、类图
项目运行截图
初始界面为标准型计算器,在查看中可选择科学型计算器,但只会提示尚未实现。
项目关键代码
1、图形界面
简述:使用AWT和Swing组件包,采用纯代码编写方式完成。
关键代码:
public CalFrame() {
super("我的计算器");
// 设置不可改变大小
this.setResizable(false);
this.setSize(220, 335);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
initPanel1();
initPanel2();
this.add(panel1);
this.add(panel2);
initMenu();
initListener1();
initListener2();
initListener3();
// 设置默认显示为桌面中央
this.setLocationRelativeTo(null);
this.setVisible(true);
}
public void initMenu() {
menubar = new JMenuBar();
this.setJMenuBar(menubar);
menuLook = new JMenu("查看(V)");
menuLook.setMnemonic('V');
menubar.add(menuLook);
lookStandard = new JRadioButtonMenuItem("标准型");
lookStandard.setAccelerator(KeyStroke.getKeyStroke('1', Event.ALT_MASK));
lookScience = new JRadioButtonMenuItem("科学型");
lookScience.setAccelerator(KeyStroke.getKeyStroke('2', Event.ALT_MASK));
buttonGroup = new ButtonGroup();
buttonGroup.add(lookStandard);
buttonGroup.add(lookScience);
menuLook.add(lookStandard);
menuLook.add(lookScience);
lookStandard.setSelected(true);
menuEdit = new JMenu("编辑(E)");
menuEdit.setMnemonic('E');
menubar.add(menuEdit);
editCopy = new JMenuItem("复制");
editCopy.setAccelerator(KeyStroke.getKeyStroke('C', Event.CTRL_MASK));
menuEdit.add(editCopy);
editPaste = new JMenuItem("粘贴");
editPaste.setAccelerator(KeyStroke.getKeyStroke('V', Event.CTRL_MASK));
menuEdit.add(editPaste);
menuHelp = new JMenu("帮助(H)");
menuHelp.setMnemonic('H');
menubar.add(menuHelp);
helpHelp = new JMenuItem("查看帮助");
helpHelp.setAccelerator(KeyStroke.getKeyStroke('F',Event.ALT_MASK));
menuHelp.add(helpHelp)<