没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
第 2 章 仿 Windows 计算器
第 2 章 仿 Windows 计算器
2.1 仿 Windows 计算器概述
Windows 计算器,是 Windows 操作系统自带计算器,,可以帮助用户完成数据的运算,它可分为
“标准型”和“科学型”,本章的仿 Windows 计算器是标准型的 Java 实现,标准型 Windows 计算器实现的
主要功能有:四则运算;求倒数;求开方;存储计算结果;读取计算结果;累积计算结果。
我们在第一章中,我们实现了一个在控制台进行的五子棋游戏,我们从本章开始将在 Swing 界面
中实现本书的项目。在本章中,我们将使用到 JFrame 和 JPanel 两个 Swing 容器,使用到 JTextField
和 JButton 两个 Swing 容器,使用 BorderLayout 和 GridLayout 做两个布局器,以及使用到事件、事件
监听器和事件适配器等。
实现一个计算器,界面中需要提供各种输入的按钮,再以这些按钮组成计算器的键盘,用户点击
键盘输入值后,就可以将其所输入的值显示到一个文本框中,运算后,再将结果显示到文本框中。计
算器的最终效果如图 2.1 所示。
图 2.1 用 Swing 制作的计算器
从图 2.1 中可以看到,我们开发界面的时候,需要提供一个文本框在窗口的最上部,文本框下面再
提供各个计算器的按钮。
2.1.1 数学与其它符号介绍
在此计算器中,主要使用的数学运算有加、减、乘、除四则运算,或者对一个正数进行开方,或
者对一个非 0 的数学求倒数,使用到的数学符号有:
加、减、乘、除,对应使用的符号是“+”、“-”、“*”、“/”。
开方与倒数,对应使用的符号是“sqrt”和“1/x”。
第 2 章 仿 Windows 计算器
求结果使用的数学符号是“=”。
“%”号,如果使用此符号,第二个操作数就等于两数相乘再除以 100。
除了用于数学运算的符号,Windows 计算器还提供对计算结果做存储、读取、累加、清除等操作,
亦有对数字显示框中的数字做退格操作,还可以清除上次计算结果或者全部结果:
使用符号“MC”、“MR”、“MS”、“M+”代表清除存储结果、读取存储结果、保存存储结果和累
加存储结果。
使用“Backspace”符号代表退格。
使用“CE”和“C”代表清除上次计算结果和清除所有计算结果。
四则运算在程序中可以直接使用 Java 运算符实现,实现开方可以调用 Math 类的 sqrt 方法,倒数
可以使用 1 来除以原始的数字。当用户需点击“=”的时候,计算器就需要将最终的计算结果显示到文本
框中。其他的计算器功能都可以通过计算器内部的程序实现,例如使用某个字符串或者数字来保存相
应的结果,如果需要计取、存储、累加或者清除结果,可以通过改变或者读取我们所保存的值来实现。
2.1.2 界面说明
界面中使用的 Swing 组件相对简单,整个大窗口可以看作一个 JFrame 对象,在 JFrame 对象中,
存放一个 JPanel 对象,我们需要为这个 JPanel 对象进行布局,将文本框(JTextField 对象)与各个计
算 器 按 钮 ( JButton 对 象 ) 添 加 到 这个 JPanel 中 。 在 添加 计 算 器 按 钮 的 时候 , 我 们 可 以 使 用
GridLayout 布局处理器来进行网格状布局,由于各个计算器按钮都是以网格状分布在界面中的,因此
使用 GridLayout 非常适合。本章计算器的界面布局并不复杂,因此在这里不再详细描述。
2.2 流程描述
用户打开计算器后,在没有关闭计算器之前,可以通过鼠标点击“1”到“9”数字键和点击“+”、“ -”、
“*”、“ /”键去输入要运算结果的算术式,再通过点击“ =”、“ sqrt”、“ 1/x”等键去直接获取计算结果,
除外,还可以点击“MC”、“ MR”、“ MS”、“ M+”键去清除、读取、保存、累加计算显示框中显示的
数字,还有清除上次结果、清除所有结果、退格等操作。从图 2.2 中可以看出,计算器打开之后,就开
始 监 听 用 户 的 鼠 标 动 作 , 如 果 输 入 是 关 于 计 算 结 果 或 者
“MC”、“ MR”、“ MS” 、“ M+”、“ Backspace”、“ CE”、“ C”等操作指令,而且没有关闭计算器,
就返回计算结果并显示,如果不是,则不计算结果。接下来再继续等待用户的输入。
本章的计算器并没有复杂的流程,只需要简单的操作,返回计算结果等。在实现计算器的过程中,
我们需要注意的是,例如已经点击了某个数字,再点击运算符,那么程序需要记录之前选点击的数字 ,
当用户再次点击运算符(非“=”)时,系统就需要将结果显示到文本框中。因此在开发计算器的时候,
我们需要注意用户点击的具体顺序。
·2·
第 2 章 仿 Windows 计算器
图 2.2 计算流程
2.3 建立计算器对象
实现一个计算器,我们需要建立一系列的对象来实现,例如,计算界面我们要建立一个界面类,
还需要建立一个专门负责处理加、减、乘、除的基本计算类,还需要一个负责处理计算功能的业务类 。
本小节中只讲解创建这三个基本的类,如果在开发的过程发现可以将一些行为或者属性放置到一个新
的对象中,那么可以再建立这些对象来完成需要实现的功能或者操作。
本章主要设计四个类来完成计算器的功能,界面类(CalFrame)—主要用来显示计算器界面,功
能类(CalService)—主要用于完成计算器中的逻辑功能,计算工具类(MyMath)—此类是工具类,
用于处理大型数字的加减乘除,计算器类(Cal)—用于打开计算器,计算器中各个类的关系如图 2.3 所
示,从图中可以看出,我们的界面类继承了 java.swing.JFrame 类,计算器类使用了界面类,界面类使
用了功能类,功能类使用了 MyMath 工具类,下面章节将对这些计算器的相关类作详细介绍。
·3·
剩余15页未读,继续阅读
Shine-R
- 粉丝: 0
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0