基于java swing awt 的GUI计算器,为课程作业 (标准/科学,带括号)
使用栈作为运算结构(适合课程要求和学习需要)
- CalcController : 计算器
- HistoryController: 历史记录
- MemoryController:内存
- Calculation:计算器模型
- History:
- Memory:
- 见源代码
- TestCalcStack.java 测试类,用于测试中缀表达式转换后缀表达式的子模块
注: 重新改过之后这里部分内容被修改了,其中包括类的命名和事件的域
(以下表格内容已过期,参考最新的java源文件结构)
类/函数 | 注释 |
---|---|
BasicOperationButtonClickHandler | 在这里编写基本按钮点击的事件处理 需要重写方法: public void actionPerformed(ActionEvent e); |
view.BasicOperationPad | 这里就是普通的退格加减乘除等 值得注意的是: 这里用了数学符号,和直接的=+-不一样, 比较时要复制字符串数组的符号,或者改成直接的-=+ |
view.ButtonClickHandler | 这个类就是ButtonClickHandler |
FunctionButtonClickHandler | 在这里编写功能按钮点击的事件处理 需要重写方法: public void actionPerformed(ActionEvent e); |
view.FunctionPad | 这个Function 写的是除了加减乘除等之外的按键 具体见字符串数组 |
view.Header | 这个是那个000框框 |
view.MainGridBagLayoutWindows | 使用GridBagLayout作为布局的JFrame之类 构造函数会创建一个完整的计算器窗口 |
view.CalculatorWindow | Main |
view.MButtonBar | 这个类是 M 键,M键的解释是: 计算器里面有一个内存,M就是Memory M+:记忆当前数字,累加数bai字当中。 |
view.MButtonClickHandler | 在这里编写M键按钮点击的事件处理 需要重写方法: public void actionPerformed(ActionEvent e); |
NumberButtonClickHandler | 在这里编写数字按钮点击的事件处理 需要重写方法: public void actionPerformed(ActionEvent e); |
view.NumberPad | 这里只有 0-9 , +/- , . |