day5 part2:实例开发2---仿Windows计算器
来源:互联网 发布:淘宝网触屏版下载 编辑:程序博客网 时间:2024/05/16 09:34
主要功能有:四则运算;求倒数;求开方;存储计算结果;读取计算结果;累积计算结果。
在Swing界面中实现本书的项目。使用到 JFrame和JPanel两个Swing容器,使用到JTextField和JButton两个Swing容器,使用BorderLayout和GridLayout做两个布局器,以及使用到事件、事件监听器和事件适配器等。
预期效果:
使用符号“MC”、“MR”、“MS”、“M+”代表清除存储结果、读取存储结果、保存存储结果和累加存储结果。“CE”和“C”代表清除上次计算结果和清除所有计算结果。
一、创建cal工程,加入类
需要上述四个类,其中界面类(CalFrame)主要用来显示计算器界面,功能类(CalService)主要用于完成计算器中的逻辑功能,计算工具类(MyMath)是工具类,用于处理大型数字的加减乘除,计算器类(Cal)用于打开计算器。
二、MyMath工具类
使用BigDemical封装基本类型,防止使用float和double损失精度。
static double add(double num1,double num2):加法,返回double类型。
static double abstract(double num1,double num2):减法,返回double类型。
static double multiply(double num1,double num2):乘法,返回double类型。
static double divide(double num1,double num2):除法,返回double类型
三、CalService类
处理计算器业务逻辑,计算结果并返回以及记录计算机状态(用户上一步操作)。
String callMethod(String cmd , String text),调用方法并返回计算结果。
String cal(String text,boolean isPercent),用来计算加、减、乘、除法,并返回封装成String型的结果。参数text是显示框中的数字内容,boolean类型的参数isPercent代表是否有"%"运算,如果有,便加上去。
String setReciprocal( String text ),用来计算倒数,并返回封装成 String内型的结果。
String sqrt( String text ),用来计算开方,并返回封装成 String内型的结果。
String setOp( String cmd , String text ),设置操作符号。
String setNegative( String text ),设置正负数,当 text是正数时,返回负数的数字字符串,反之,则返回正数的数字字符串。
String catNum( String cmd, String text ),连接输入的数字,每次点击数字,就把把新加的数字追加到后面,并封装成字符串返回。
String backSpace( String text ),删除最后一个字符,并返回结果。
String mCmd( String cmd, String text ),用来实现“ M+”、“ MC”、“ MR”、“ MS”与存储有关的功能。
String clearAll(),清除所有计算结果。
String clear( String text),清除上次计算结果。
四、CalFrame类
void initialize(),初始化计算器界面。
ActionListener getActionListener(),如果动作监听器为空,则创建一个,并返回,如果不为空,直接返回。
JTextField getTextField(),这个方法初始化输入框。
JButton[] getMButton(),此方法获得计算器的存储操作键。
JButton[] getRButton(),此方法获得计算器的结果操作键。
JButton[] getNButton(),此方法获得计算器的其它操作键。
- day5 part2:实例开发2---仿Windows计算器
- 仿实例开发---简单四则计算器功能实现
- 嵌入式开发之Qt学习篇——2、Qt实战:仿Windows 8 计算器
- Java实现仿Windows计算器
- 第二章 仿Windows计算器
- Android计算器开发实例
- day3 part2:实例开发1---控制台五子棋
- day4 part2:实例开发1---控制台五子棋
- 《汇编语言程序设计》——仿windows计算器
- 仿windows计算器——java版
- C#学习 仿windows计算器 完结
- [ahk]操作Windows计算器实例
- C语言写的仿WINDOWS 界面计算器源码
- 用Eslipse开发Android案例(1)——计算器<part2>
- Drupal开发培训 Day5
- 《安卓应用开发学习》仿锤子计算器(上)
- 《安卓应用开发学习》仿锤子计算器(中)
- QT C++实现简单计算器(仿windows计算器普通模式)
- GridLayout,子控件EditText内容超出屏幕
- gulp快速搭建web项目
- CachedBluetoothDevice.java该怎么用?
- ASP.NET WEB控件如何添加控件事件的响应函数
- 深度、广度优先遍历算法C实现
- day5 part2:实例开发2---仿Windows计算器
- httpget api,4.0中要求在线程中实现
- 集合框架_Set集合总结
- java web项目开发流程
- Android 用PRODUCT_COPY_FILES拷贝xml文件怎么还能被检查语法问题呢?
- java.lang.UnsatisfiedLinkError
- 将matlab的figure保存为pdf,避免图片太大缺失
- viewpager 滑至最后一屏禁止向右滑,滑至第一屏禁止向左滑,怎么实现
- 小白开发,请教handler的顺序问题?