




免费预览已结束,剩余41页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
编号编号 面向对象程序设计 面向对象程序设计 JAVAJAVA 课程设计课程设计 论文论文 档案档案 题题 目目 保存计算过程的计算器 学学 院院 信息学院 专专 业业 姓姓 名名 学学 号号 班班 级级 指导教师指导教师 职职 称称 讲师 完成日期完成日期 2013 年 12 月 面向对象程序设计 面向对象程序设计 JAVAJAVA 课程设计课程设计 论文论文 题题 目目 保存计算过程的计算器 学学 院院 信息学院 专专 业业 姓姓 名名 学学 号号 班班 级级 指导教师指导教师 职职 称称 讲师 完成日期完成日期 2013 年 12 月 摘 要 当下计算机技术发展迅捷 人们已经不能满足于采用人工进行大量的计 算 计算器快速的计算速度和稳定的准确率很好的满足了用户的需要 然而 Windows 自带的计算器所提供的功能已经无法满足人民日益增长的需求 保 存计算过程的计算器更是能够让用户随时随地的查找以前的计算过程 能够 提供给用户更加好的体验感受 基于上面的几点因素 保存计算过程的计算器正是在这样的需求之下应 运而生的 目的旨在帮助用户快速准确的得到计算结果 本次实验课题使用 了 JAVA 语言 开发平台选用 Eclipse 这个开源的编译软件 主要原因就是 其强大的跨平台能力与超过 C 语言 MFC 所提供的包含框架界面设计功能 由于其是面向对象的语言 所以整个代码看上去尽然有序 更加健壮 易读 对于程序本身 由于时间有限只能做出简易的计算功能 旨在实现保存 计算过程这一目标 更加多的科学计算器功能可以通过模块的方式进行快速 集成 体现出了面向对象的模块化设计的特性 关键字 保存计算过程 计算器 JAVA 语言 Eclipse 模块化 Abstract With the rapid development of computer technology nowadays people are not satisfied with the manually way that conduct a large number of calculations any more Computers which have the high speed of the calculation and stable accuracy meet user s needs well However the functions of Window s own calculator have been unable to meet the growing needs of people But the calculator saving the calculation procedure enables users to search the procedure at any time and no matter where they are and it provides the users with a better and totally new experience Taking all the facts above into consideration the calculator that saving the calculation procedure works in such a condition It aims at helping the users to get the calculation results as quickly as possible For this experimental subject JAVA language has been used Also used Eclipse software The main reason of it is that it has quite a powerful ability of cross platform Besides the function of framework interface designation surpasses the C MFC s Since it is an object oriented language the whole codes seem more orderly stronger and easier to read As for the process itself only the simple calculations can be made due to the limited time Nevertheless to make the calculation procedure saved more and more scientific calculator functions can be quickly integrated through the way of module which reflects the features of object oriented modular design Key words Save computational process Calculator JAVA language Eclipse Modularization 目 录 前言前言 1 1 需求分析需求分析 2 1 1 设计目的 2 1 2 程序需求分析 2 1 3 系统目标 2 1 4 主要设计思想 3 1 5 开发环境配置 3 2 2 程序设计程序设计 4 2 1 概要设计 4 2 2 详细设计 7 2 3 设计小结 9 3 代码编写代码编写 10 3 1 导入包 10 3 2 各模块代码 10 4 测试与调试测试与调试 14 4 1 主界面测试 14 4 2 计算操作 14 4 3 清零操作 15 4 4 保存操作 15 4 5 清除操作 16 5 软件发布软件发布 17 总结与体会总结与体会 18 参考文献参考文献 19 致谢致谢 20 附录附录 21 南昌工学院课程设计论文 1 前前 言言 在日常生活中人们总是难以避免的要进行一些运算 当运算比较复杂时 没有一个计算器就会显得很麻烦 为了解决这种日常生活中的困难特意设计 了这个计算器小程序 该程序不仅可以进行整数的加 减 乘 除等简单运算 也可以进行浮 点数的加 减 乘 除等运算 除此之外还可以对已计算的结果和计算步骤 进行复制 粘贴等储存功能 同时具有清屏按键 让显示更加美观 人们应用它可以解决日常生活中的一些运算问题 比如做买卖时 进行 交易的过程中就可以利用该计算器进行数量 价格以及总金额的计算与保存 学生也可以利用该计算器进行数学运算 并且对计算过程进行保存 方便日 后检验跟进 整个计算器的功能简单易懂 界面清新简洁 并且在日后再开 发时可以方便的进行功能的添加与更改 最后 该程序使用 JAVA 作为平台开发 充分体现了其跨平台的优势 可以在 Windows Linux MAC OS 等系统 还有各类手持便携系统中使用 大大提升了应用范围 减小了成本 南昌工学院课程设计论文 2 1 1 需求分析需求分析 1 11 1 设计设计目的目的 1 掌握 JAVA 语言编程的基础知识并能熟练运用 2 熟悉类声明与对象的使用 3 理解委托时间处理模型 4 了解 JAVA 语言的图形用户界面 JAVA SWING 的设计知识 5 运用 Eclipse 编写简单计算器程序 并实现其功能 6 掌握 Windows 环境下 JDK 的安装与配置 7 掌握 JAVA 程序的运行方法与 Eclipse 开发软件的使用方法 1 21 2 程序需求程序需求分析分析 Windows 2000 XP 系统中的 计算器 是一个方便实用的计算工具 但 没有提供显示计算过程和保存计算过程的功能 该计算器将加入这两个功能 其余功能与自带计算器所遵循的计算规则相同 1 单击 计算器 上的数字按钮可以设置参与计算的运算数 2 单击 计算器 上的运算符按钮可以选择运算符号 3 单击 计算器 上的函数按钮可以计算出相应的函数值 4 单击 计算器 上的 按钮显示计算结果 5 在一个文本框中显示当前的计算过程 在一个文本区中显示以往的 计算过程 6 单击 保存 按钮可以将文本区中的全部计算过程保存到文件 单 击 复制 按钮可以将文本区中选中的文本复制到剪贴板 单击 清除 按 钮可以清除文本区中的全部内容 通过使用所学的 SWT 构件出计算器的界面 包括添加数字按钮 运算 符按钮 文本框 菜单栏 功能按钮等 然后通过对界面上面按钮或者菜单 栏内容的监听 使其在点击按钮的时候产生相应的效果 1 31 3 系统目标系统目标 一个简单的计算器程序 用户可以利用鼠标点击数值或操作符按键完成 计算的输入 计算的结果将被显示在窗口右侧的文本框中 通过右侧底部 的保存按钮 可以完成对历史步骤的保存 可以导出成文本格式 点击清除 按钮 可以将文本框清空 南昌工学院课程设计论文 3 1 41 4 主要设计思想主要设计思想 对于此计算器程序 首先要设计其 GUI 界面 总体界面有一个文本框 23 个按钮 上部的文本显示区和文本框下部的 3 个核心功能按钮 文本框放置在右侧 然后 0 到 9 以及 Sin 的按钮放置到一 个面板中 添加到整体布局中 界面设计完成 布局设计好后再添加按钮事件 对于此程序要考虑到点击加 减 乘 除按钮时是否有点击数字按钮 如果是第一次点击数字按钮或者是点击数字 按钮前点击了加 减 乘 除按钮则直接把数字按钮的数值设置到文本框中 否则则应把文本框中的内容加上你所点击按钮的数值设置到文本框中 在进行加 减 乘 除计算时要把点击加 减 乘 除按钮之前的数值 保存下来 运算时是这个被保存下来的数值和文本框中的数值加 减 乘 除 程序的运算功能结束后 输出到文本显示区 在右侧文本框中增加一条 记录 通过文本框底部的保存文本框中的计算历史 或者复制文本框中的内 容到剪贴板待用 如果不需要保存 通过点击清除按钮 完成对文本框的初 始化 整个程序循环结束 1 1 5 5 开发环境配置开发环境配置 通过 Sun 公司官网下载对应版本 JDK 后 双击进行默认设置安装 结束后 必须设置 Windows 下的 Java 运行的环境变量 步骤如下 1 在系统变量中 新建 JAVA HOME 名称的变量 填入 JDK 安装的目录 即可 2 新建 PATH 名称的变量 变量值为 JAVA HOME bin JAVA HOME jre bin 3 新建 CLASSPATH 名称的变量 变量值为 JAVA HOME lib dt jar JAVA HOME lib tools jar 完成后 通过命令提示符 CMD 输入 javac 和 java version 进行验证 以确定 JDK 和环境变量正确设置 南昌工学院课程设计论文 4 2 2 程序程序设计设计 2 12 1 概要概要设计设计 2 1 12 1 1 功能框图功能框图 根据所构造好的计算器的各个功能 设计出计算器运行的功能框图如图 2 1 所示 图 2 1 计算器运行的功能框图 设计好的程序框图中 包含有如下模块 单击数字按钮设置计算的运算 数 单击运算符按钮选择运算符 单击函数按钮计算相应函数值 单击等号 显示计算结果 在一个文本框中显示当前的计算过程 在一个文本区中显示 以往的计算过程 单击保存按钮可以将文本区中的全部计算过程保存到文件 单击复制按钮可以将文本区中选中的文本复制到剪贴板 单击清除按钮可以 清除文本区中的全部内容 各个功能模块相互配合 调用 组成了一个可以保存计算过程的计算器 的基本功能 保存过程的计算器 单击数 字按钮 设置计 算的运 算数 在一个 文本框 中显示 计算过 程 单击清 除按钮 可以清 除文本 区中的 全部内 容 单击复 制按钮 可以将 文本区 中选中 的文本 复制到 剪贴板 单击保 存按钮 可以将 文本区 中的全 部计算 过程保 存到文 件 单击等 号显示 计算结 果 单击函 数按钮 计算相 应函数 值 单击运 算符按 钮选择 运算符 南昌工学院课程设计论文 5 2 1 2 1 2 2 类组合关系类组合关系图图 根据程序框图 设计出包含如下类 1 主类 CalculatorWindow 2 功能类 NumberButton OperationButton HandleDigit HandleDot HandleOperation HandlePOrN HandleEquality HandleSin HandleBack HandleClear 通过上述 11 个类之间的组合关系 设计出的类之间的组合关系图如图 2 2 所示 图 2 2 类之间的组合关系图 计算器除了上述 11 个 Java 源文件所给出的类外 还需要 Java 系统提 供的一些重要的类 如 Jbutton JTextField JTextArea LinkedList 等 这些也是构成程序框架必不可少的一些类 通过调用这些类来进行计算器按 钮 文本区 文本框等等的构建 以上各类的详细说明将会在后文中出现 这一步主要完成了程序框架架 构的设计 即模块化的设计 为各项功能的实现打下基础 CalculatorWindow LinkedList HandleDigit HandleClear HandleBack HandleSin HandleEquality HandlePOrN HandleOperation HandleDot OperationButton NumberButton JTexArea JTextField JButton 南昌工学院课程设计论文 6 2 1 2 1 3 3 程序流程图程序流程图 根据之前对各功能模块与各个类组合关系的设计 设计出程序运行流程 图如图 2 3 所示 图 2 3 程序运行流程图 通过分析需求 该计算器的程序流程如图中 先各变量初始化 之后根 据不同按钮监听返回的内容来选择使用不同功能运行 最后获取到等于按钮 时判断是否输出结果 或者清除文本区内容之后初始化变量 结束整个循环 经过该步骤对程序运行流程的设计 整个程序由立项 功能模块确定再 到功能类关系组合等 这一系列设计共同组成了程序先期的工作方向 以下 开始便是进行代码实现阶段 对各个设定好的功能类进行代码编写 以实现 整个保存计算过程的计算器的核心功能 开始 退格 初始化变量 数字 结束 删除输入的数 输出数字 运算符 进行计算 等号 输出结果 清除 初始化变量 是 否 否 否 是 是 是 否 否 是 南昌工学院课程设计论文 7 2 22 2 详细详细设计设计 2 2 12 2 1 各类的功能各类的功能 1 主类 CalculatorWindow 类负责创建计算器的主窗口 该类包含有 main 方法 计算器从该类开始执行 其中包含 14 种类型的对象 分别是 NumberButton OperationButton HandleDigit HandleDot HandleOperation HandlePOrN HandleEquality HandleSin HandleBack 和 HandleClear 对 象 CalculatorWindow 类是 javax swing 包中 JFrame 的一个子类 并实现 了 ActionListener 接口 标明该类的主要成员变量和方法的 UML 图如图 2 4 所示 图 2 4 CalculatorWindow 类的 UML 图 CalculatorWindow 类的 UML 图中 包含成员变量 numberButton operationButton 小数点操作 正负号操作 退格操作 等 号操作 清零操作 sin saveButton copyButton clearButton resultShow showComputerProce ss saceComputerProcess list handleDigit HandleOperation HandleBack HandleClear handleEquality handleDot handlePOrN HandleSin 包含 JFrameActionListener CalculatorWindow numberButton operationButton 小数点操作 正负号操作 退格操作 等号操作 清零操作 sin saveButton co pyButton clearButton resultShow showComputerProcess saveComputerProcess list handleDigit handleOperation handleBack handleClear handleEquality handleDot handlePOrN handleSin actionPeformed void CalculatorWindow main void 南昌工学院课程设计论文 8 方法 actionPeformed CalculatorWindow main 南昌工学院课程设计论文 9 2 功能类 1 NumberButton 类 该类创建的对象是主类 CalculatorWindow 窗口中的一个 数字 按钮 NumberButton 类有一个 int 类型的成员 number 标明所创建的按钮所含有 的数字 该类所创建的 10 个按钮被添加到 CalculatorWindow 窗口中 2 OperationButton 类 该类创建的对象是主类 CalculatorWindow 窗口中的一个 运算符 按 钮 OperationButton 类有一个 String 类的成员 operateSign 用于标明所创建 的按钮所含有的运算符号 该类所创建的 4 个按钮被添加到 CalculatorWindow 窗口中 3 HandleDigit 类 该类创建的对象负责处理 ActionEvent 事件 当用户单击 数字 按钮 时 该类所创建的对象负责处理和数字有关的计算过程 4 HandleOperation 类 该类创建的对象负责处理 ActionEvent 事件 当用户单击 运算符 按 钮时 该类所创建的对象负责处理和运算符有关的计算过程 5 HandleDot 类 该类创建的对象负责处理 ActionEvent 事件 当用户单击 按钮时 该类所创建的对象负责处理小数点 6 HandlePOrN 类 该类创建的对象负责处理 ActionEvent 事件 当用户单击 按钮时 该类所创建的对象负责处理数字的正负转换 7 HandleEquality 类 该类创建的对象负责处理 ActionEvent 事件 当用户单击 按钮时 该类所创建的对象计算有关数据 8 HandleSin 类 该类创建的对象负责处理 ActionEvent 事件 当用户单击 Sin 按钮时 该类所创建的对象负责计算正弦三角函数的值 南昌工学院课程设计论文 10 9 HandleBack 类 该类创建的对象负责处理 ActionEvent 事件 当用户单击 退格 按钮 时 该类所创建的对象负责进行退格操作 10 HandleClear 类 该类创建的对象负责处理 ActionEvent 事件 当用户成功单击 C 按钮时 该类所创建的对象负责清除有关的计算结果 2 32 3 设计设计小结小结 根据上述概要设计和详细设计得出了一份完整的程序设计清单 包括将 要实现的功能类 类之间的组合关系和程序的运行流程 通过这些清单 可 以有条理 分层次 模块的进行代码的编写 让自己的编程思路更加清晰 达成了程序健壮性 易读性等目标 在程序的设计阶段 碰到很多棘手的问题 由于第一次进行 Java 程序 的编写 对其提供的基础类不熟悉 导致在构建程序框架的时候出现诸多问 题 在不断的查书 请教老师的过程中 终于使所有问题迎刃而解 让自己 更加透彻的了解了 Java 界面架构类的使用方法和技巧 为之后的代码编写 打下了坚实基础 南昌工学院课程设计论文 11 3 3 代码编写代码编写 3 13 1 导入包导入包 import java awt import java awt event import javax swing import javax swing border import java util LinkedList import java io 3 23 2 各模块代码各模块代码 3 2 13 2 1 HandleBackHandleBack 类类 HandleBack 类实现了 ActionListener 接口 创建的对象 handleBack 是 CalculatorWindow 窗口的成员之一 该类实现了退格算法 使用到如下代码进行退格判定和操作 if num length 1 num num substring 0 num length 1 list set 0 num resultShow setText num showComputerProcess setText num else list removeLast resultShow setText 0 showComputerProcess setText 0 该类中包含了成员变量 list resultShow showComputerProcess 包含 方法 构造方法 HandleBack LinkedList JtextField JtextField HandleBack 类实现的 ActionListener 接口中的方法 南昌工学院课程设计论文 12 3 2 3 2 2 2 HandleHandleClearClear 类类 HandleClear 类实现了 ActionListener 接口 创建的对象 handleBack 是 CalculatorWindow 窗口的成员之一 该类实现了清零算法 使用到如下代码进行清零 resultShow setText 0 list clear showComputerProcess setText null 该类中包含了成员变量 list resultShow showComputerProcess 包含 方法 构造方法 HandleClear LinkedList JtextField JtextField HandleClear 类实现的 ActionListener 接口中的方法 当用户点击 清零操作 按钮时就会触发 ActionEvent 事件 执行 actionPerformed ActionEvent 方法 将 resultShow 中显示的数字设置为 0 并清除 showComputerProcess 中显示 的计算过程 3 2 3 2 3 3 HandleHandleDotDot 类类 HandleDot 类实现了 ActionListener 接口 创建的对象 handleDot 是 CalculatorWindow 窗口的成员之一 该类实现了处理小数点算法 使用到如下代码进行小数点的判定和处理 String dot e getActionCommand String num list getFirst String s null if num indexOf dot 1 s num concat dot list set 0 s else s num list set 0 s resultShow setText s showComputerProcess setText list get 0 南昌工学院课程设计论文 13 3 2 3 2 4 4 HandleHandleDigitDigit 类类 HandleDigit 类实现了 ActionListener 接口 创建的对象 handleDigit 是 CalculatorWindow 窗口的成员之一 该类实现了获取数字的算法 通过此语句获得点击的数字 NumberButton b NumberButton e getSource 传递 显示点击的数字 int number b getNumber list add number resultShow setText number showComputerProcess setText list get 0 3 2 3 2 5 5 HandleHandleOperationOperation 类类 HandleOperation 类实现了 ActionListener 接口 创建的对象 handleOperation 是 CalculatorWindow 窗口的成员之一 该类实现了获取符号 的算法 通过此语句获得点击的符号 OperationButton b OperationButton e getSource 通过如下代码进行加减乘除的判断和运算 if 运算符号 equals result n1 n2 else if 运算符号 equals result n1 n2 else if 运算符号 equals result n1 n2 else if 运算符号 equals result n1 n2 该类中包含了成员变量 list resultShow showComputerProcess 包含 方法 构造方法 HandleOperation LinkedList JtextField JtextField HandleOperation 类实现的 ActionListener 接口中的方法 当用户点击运算符 按钮时就会触发 ActionEvent 事件 执行 actionPerformed ActionEvent 方法 负责处理 list 链表中存储的运算符和必要的计算 南昌工学院课程设计论文 14 3 2 3 2 6 6 HandleHandleSinSin 类类 HandleSin 类实现了 ActionListener 接口 创建的对象 handleSin 是 CalculatorWindow 窗口的成员之一 该类实现了正弦函数值算法 当 list size 1 list size 2 时 需要算法 double x Double parseDouble numOne double result Math sin x String str String valueOf result list set 0 str resultShow setText str list removeLast 移掉运算符号 当 list size 3 时 需要算法 String numTwo list getLast double x Double parseDouble numTwo double result Math sin x String str String valueOf result list set 0 str resultShow setText str list removeLast 移掉第 2 个运算数 list removeLast 移掉运算符号 该类中包含了成员变量 list resultShow showComputerProcess 包含 方法 构造方法 HandleSin LinkedList JtextField JtextField HandleSin 类实现的 ActionListener 接口中的方法 当用户点击 Sin 按钮 时就会触发 ActionEvent 事件 执行 actionPerformed ActionEvent 方法 将 输入的数字的正弦函数值计算出来 注 由于主类 CalculatorWindow 中为窗口的创建代码 负责调用各个 功能类 实现 main 方法等 所以重在对各模块代码的分析 主类的代码见 附录 南昌工学院课程设计论文 15 4 4 测试与调试测试与调试 4 14 1 主界面测试主界面测试 运行 CalculatorWindow 类后 主界面如图 4 1 所示 图 4 1 主界面图 图中 主界面包含 程序名称 计算器 左侧界面 10 个数字按钮 运算符按钮 清零 退格按钮 正负数变换按钮 小数点按钮 正弦函数运 算按钮和等于按钮 右侧界面 保存 复制 清除按钮和一个文本框 4 24 2 计算操作计算操作 使用计算器进行加 减 乘 除操作和正弦计算操作 操作后的界面如 图 4 2 所示 图 4 2 计算操作图 南昌工学院课程设计论文 16 4 34 3 清零操作清零操作 对文本区进行清零操作 将文本区重置为 0 清零操作如图 4 3 所示 图 4 3 清零操作图 4 44 4 保存操作保存操作 将文本框中保存的历史计算过程以文本格式 lsj txt 进行保存 保存 操作如图 4 4 所示 图 4 4 保存操作图 南昌工学院课程设计论文 17 4 54 5 清除操作清除操作 将所有保存在文本框中的历史计算过程清除 进行新的计算任务 清除 操作前如图 4 5 所示 清除操作成功如图 4 6 所示 图 4 5 清除操作前 图 4 6 清除操作成功 南昌工学院课程设计论文 18 5 5 软件发布软件发布 软件的发布可以使用 jar exe 命令制作 JAR 文件来发布编写的软件 1 首先用文本编辑器 如 Windows 下的 记事本 编写一个清单文 件 mymoon mf Manifest Version 1 0 Main Class CalculatorWindow Created By 1 2 Sun Microsystems Inc 将 mymoon mf 保存到与程序所用的字节码文件保存在相同的目录中 2 生成 JAR 文件 D jar cfm Calculator jar mymoon mf class 其中 参数 c 表示要生成一个新的 JAR 文件 f 表示要生成的 JAR 文 件的名字 m 表示清单文件的名字 现在就可以将 Calculator jar 复制到任何一个安装了 Java 运行环境的计 算机上 用户双击该文件即可运行该软件 南昌工学院课程设计论文 19 总结与体会总结与体会 通过这次实习让我更加深刻的理解了书本上的知识 得到了一个运用 JAVA 语言编写程序的实践机会 将课本上的知识变为实践 通过这两个周 的实习也大大的锻炼了我分析解决问题的能力 在建立代码的初期 我觉得 程序框架的建立好像不难 但是越往后做越发现 越做越难 因为在往后做 的过程中 发现部分类的功能无法正常实现 因此浪费了很多的时间 令人遗憾的是在这次实践中 我所做的保存计算过程的计算器并没有完 成预期的功能 本来是想着挺简单的 但是实践起来真的很难 再加上时间 紧迫 所以就只实现了一些简单的功能 并没有加入科学计算等功能 虽然这次实践圆满结束了 但我仍然不能放松前进的脚步 在程序的编 写过程中 自己对 JAVA 这门面向对象的语言产生了浓厚的兴趣 这门独特 的语言并不像 C 语言那样需要为指针地址烦恼 只是巧用搭积木的方法 便 让一个带图形界面的小程序运行起来 很惊叹于 JAVA 语言的作者的无限的 创造能力 带给了我们后人很多便捷 也带来了许许多多优秀的程序 另外 此次课程设计让我更了解熟悉了 Java 中的图形用户界面和它的 编程方式 在完成课题的过程中也不断充实了自己 学习到了很多以前没有 学习到的知识 收获很大 最大的收获是在完成过程中培养的解决问题的能 力 在做课程设计时必然会遇到困难 会有不会的东西 重要的不是现在会 不会 而是遇到问题知道如何找到解决的途径 还使我对所学知识能够融会 贯通 又不断丰富了新知识 Java 计算器设计使得我对所学的专业课有了 更为深刻的认识 使得知识得到了巩固和提高 南昌工学院课程设计论文 20 参考文献参考文献 1 耿祥义 张跃平 Java 程序设计 第二版 M 北京 清华大学出版社 2008 23 49 2 耿祥义 Java 2 实用教程 第三版 M 北京 清华大学出版社 2006 3 吕凤翥 Java 语言程序设计 第二版 M 北京 清华大学出版社 2010 4 刘升华 JAVA 从入门到实践 M 北京 清华大学出版社 2008 5 陈平 软件设计师教程 M 北京 清华大学出版社 2004 6 绕一梅 Java 语言程序设计 M 北京 人民邮电大学出版社 2010 南昌工学院课程设计论文 21 致致 谢谢 首先要感谢曾经帮助过我的老师的悉心指导 很多专业上的疑惑都是在 你帮助下解开的 然后还要感谢那些提供无私帮助的同学 朋友 没有你们 我的程序也不会像今天一样健壮 我还要感谢那些书籍的编著者 您们就像一双双的手在我最困难的时候 帮助我渡过难关 还有那些在网络上留下资料帮助我的好心人 萍水相逢却 不吝赐教让我很感动 秉承着他们的精神 我会在以后的路途中 也帮助那些同我曾经一样迷 茫的朋友 为他们提供自己所学的知识 希望他们像我一样从中得到灵感 为 JAVA 程序的设计与发展做出更多贡献 在更多领域造福大众 为国家的 信息科技发展注入新鲜血液 南昌工学院课程设计论文 22 附附 录录 CalculatorWindow 主类代码如下 import java awt import java awt event import javax swing import javax swing border import java util LinkedList import java io public class CalculatorWindow extends JFrame implements ActionListener NumberButton numberButton OperationButton operationButton JButton 小数点操作 正负号操作 退格操作 等号操作 清零操作 sin JTextField resultShow 显示计算结果 JTextField showComputerProcess 显示当前计算过程 JTextArea saveComputerProcess 显示计算步骤 JButton saveButton copyButton clearButton LinkedList list 链表用来存放第一个运算数 运算符号和第 二个运算数 HandleDigit handleDigit 负责处理 ActionEvent 事件 HandleOperation handleOperation HandleBack handleBack HandleClear handleClear HandleEquality handleEquality HandleDot handleDot HandlePOrN handlePOrN HandleSin handleSin public CalculatorWindow setTitle 计算器 JPanel panelLeft panelRight list new LinkedList resultShow new JTextField 10 南昌工学院课程设计论文 23 resultShow setHorizontalAlignment JTextField RIGHT resultShow setForeground Color blue resultShow setFont new Font TimesRoman Font BOLD 16 resultShow setBorder new SoftBevelBorder BevelBorder LOWERED resultShow setEditable false resultShow setBackground Color white showComputerProcess new JTextField showComputerProcess setHorizontalAlignment JTextField CENTER showComputerProcess setFont new Font Arial Font BOLD 16 showComputerProcess setBackground Color cyan showComputerProcess setEditable false saveComputerProcess new JTextArea saveComputerProcess setEditable false saveComputerProcess setFont new Font 宋体 Font PLAIN 16 numberButton new NumberButton 10 handleDigit new HandleDigit list resultShow showComputerProcess for int i 0 i 9 i numberButton i new NumberButton i numberButton i setFont new Font Arial Font BOLD 20 numberButton i addActionListener handleDigit operationButton new OperationButton 4 handleOperation new HandleOperation list resultShow showComputerProcess saveComputerProcess String 运算符号 for int i 0 i 4 i operationButton i new OperationButton 运算符号 i operationButton i setFont new Font Arial Font BOLD 20 operationButton i addActionListener handleOperation 小数点操作 new JButton 南昌工学院课程设计论文 24 handleDot new HandleDot list resultShow showComputerProcess 小数点操作 addActionListener handleDot 正负号操作 new JButton handlePOrN new HandlePOrN list resultShow showComputerProcess 正负号操作 addActionListener handlePOrN 等号操作 new JButton handleEquality new HandleEquality list resultShow showComputerProcess saveComputerProcess 等号操作 addActionListener handleEquality sin new JButton sin handleSin new HandleSin list resultShow showComputerProcess saveComputerProcess sin addActionListener handleSin 退格操作 new JButton 退格 handleBack new HandleBack list resultShow showComputerProcess 退格操作 addActionListener handleBack 清零操作 new JButton C handleClear new HandleClear list resultShow showComputerProcess 清零操作 addActionListener handleClear 清零操作 setForeground Color red 退格操作 setForeground Color red 等号操作 setForeground Color red sin setForeground Color blue 正负号操作 setForeground Color blue 小数点操作 setForeground Color blue panelLeft new JPanel panelRight new JPanel panelLeft setLayout new BorderLayout JPanel centerInLeft new JPanel 南昌工学院课程设计论文 25 panelLeft add resultShow BorderLayout NORTH panelLeft add centerInLeft BorderLayout CENTER centerInLeft setLayout new GridLayout 4 5 centerInLeft add numberButton 1 centerInLeft add numberButton 2 centerInLeft add numberButton 3 centerInLeft add operationButton 0 centerInLeft add 清零操作 centerInLeft add numberButton 4 centerInLeft add numberButton 5 centerInLeft add numberButton 6 centerInLeft add operationButton 1 centerInLeft add 退格操作 centerInLeft add numberButton 7 centerInLeft add numberButton 8 centerInLeft add numberButton 9 centerInLeft add operationButton 2 centerInLeft add sin centerInLeft add numberButton 0 centerInLeft add 正负号操作 centerInLeft add 小数点操作 centerInLeft add operationButton 3 centerInLeft add 等号操作 panelRight setLayout new BorderLayout panelRight add showComputerProcess BorderLayout NORTH saveButton new JButton 保存 copyButton new JButton 复制 clearButton new JButton 清除 saveButton setToolTipText 保存计算过程到文件 copyButton setToolTipText 复制选中的计算过程 clearButton setToolTipText 清除计算过程 南昌工学院课程设计论文 26 saveButton addAct
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设计考试题及答案
- 中兽医基础知到智慧树答案
- 中外文明交流史知到智慧树答案
- 居民健康档案管理培训考核试题(含答案)
- 肺结核病患者健康管理培训试题及答案
- 从生产中谈猪病毒性腹泻的防控专题培训考试试题(附答案)
- 2025度酒店客房卫生间改造合同协议书
- 2025年度立体停车库设计与施工合同
- 2025版建筑机械设备租赁与售后服务合同范文
- 2025年新型城镇化包工不包料安置房建设合同
- 六年级家长会课件
- 2025年安徽省淮南市【辅警协警】笔试模拟考试题(含答案)
- 废气处理活性炭吸附操作规范
- 创伤急救基本知识培训课件
- T-SCSTA001-2025《四川省好住房评价标准》
- 生态学基本原理解析课件
- 煤灰清理施工方案
- 《大学生军事理论教程》第三章
- 黄遵宪年谱长编(上下册):国家社科基金后期资助项目
- 均值X-R极差分析控制图(自动测算表)
- 体力劳动工作管理程序
评论
0/150
提交评论