




已阅读5页,还剩15页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南理工学院学生课程设计 1 湖南理工学院南湖学院机电系 课 程 设 计 课程名称 Java 程序设计 课题名称 简易计算器设计 姓 名 王先强 学 号 24092400353 班 级 N09 计 01 2011 年 5 月 湖南理工学院学生课程设计 2 一 一 实验目的与要求 实验目的与要求 1 1 1 1 实验目的 实验目的 1 2 2 实验要求 实验要求 1 二 二 引言 引言 1 1 1 1 JAVAJAVA 用户界面概述 用户界面概述 1 2 2 设计用户界面基本步骤 设计用户界面基本步骤 1 3 3 G GRIDRIDL LAYOUTAYOUT布局管理器 布局管理器 2 三 三 设计内容与分析设计内容与分析 2 2 1 1 设计内容 设计内容 2 2 2 分析 分析 2 四 四 各模块功能的介绍和实现各模块功能的介绍和实现 2 2 1 1 所用到的所用到的 J JAVAAVA类库包类库包 2 2 2 所用的各部分图形组件的定义 所用的各部分图形组件的定义 2 五 五 程序代码 程序代码 3 3 1 1 顶层容器类 顶层容器类 3 2 2 计算器界面类 计算器界面类 3 3 3 测试类 测试类 7 六 六 实验结果 实验结果 8 8 七 七 总结 总结 8 8 湖南理工学院学生课程设计 0 一 一 实验目的与要求 实验目的与要求 1 1 实验目的 实验目的 1 进一步掌握利用 JAVA 进行图形用户界面的定义和操作方法 2 进一步掌握类的继承和派生方法 3 综合利用上述知识 学习设计并编写实用的 JAVA 简单 GUI 应用程序 4 熟悉 java awt 包中的组件 掌握图形界面设计方法 理解委托事件处理模型 5 请设计并实现 Windows 系统中 计算器 的窗口及功能 2 2 实验要求 实验要求 1 设计图形界面添加菜单 窗口上添加各种组件及菜单 并处理组件及菜单的事 件监听程序 2 运算 实现多种运算 保证运算正确性 二 二 引言 引言 随着人们痛心或了解信息的越来越数据化 特别是要求高速度的获取想要的信息计算 机的要求越来越高 不仅是在其容量上越来越大 特别是在其功能上要求的实现越来越 多 数据类型和精确度越来越精确 该程序是一个基于 Java 的程序设计界面设计的功能较简单的计算器系统 实现了用户简 单计算功能 1 1 JAVAJAVA 用户界面概述 用户界面概述 图形用户界面 GUI 是指以图形的显示方式与用户实现交互操作的应用程序界面 实际具有 GUI 特征的应用程序被称为 GUI 应用程序设计 其相关类主要封存在两个包 java awt 和 javax swing 中 其中包含了实现图形用户界面的所有基本元素 这些基本元素主要包括容器 组件 绘图工具与布局管理器等 Java awt 是 java 用来建立 GUI 的图形包 这里的 awt 是抽象窗口工具包的缩写 其中的 组建爱你常被称为 AWT 组件 Javax swing 是 AWT 改进包 2 2 设计用户界面基本步骤 设计用户界面基本步骤 湖南理工学院学生课程设计 1 1 创建面板容器设置组件 2 将组件加入到容器中 3 布局组件 4 处理由组件产生的事件 3 3 GridLayoutGridLayout 布局管理器 布局管理器 被称为网格布局管理器 计算器的设计就是一种 GridLayout 布局管理器的具体设计 三 三 设计内容与分析设计内容与分析 1 1 设计内容 设计内容 通过图形用户界面 GUI 的设计方法设计一个小型的计算器系统 要求能实现计算器的基 本功能 如 1 x BackSpace 等 2 2 分析 分析 简易计算器的功能只限定可以对实数进行 的计算 但是要考虑连续计算功能 这个程序应当包括两个部分 应用程序界面 事件处理 设计三个类 控制界面布局的面板容器类 外层窗口类 测试类 四 四 各模块功能的介绍和实现各模块功能的介绍和实现 1 所用到的 Java 类库包 java awt 基本的图形界面组件来源于 awt 包 java awt event 事件的属性处理来源于 awt event 包 javax swing swing 组件增加了 awt 包中所不具备的各种优越功能 javax swing border java util LinkedList 链表 湖南理工学院学生课程设计 2 2 2 所用的各部分图形组件的定义 所用的各部分图形组件的定义 private JLabel display 显示结果 private JPanel panel private double result private String lastCommand private boolean start 五 五 程序代码 程序代码 1 1 数字按钮组件类 数字按钮组件类 import java awt import java awt event import javax swing public class NumberButton extends Button 定义单击数字按钮事件类 int number public NumberButton int number super number this number number setForeground Color blue public int getNumber return number 2 2 命令按钮组件类 命令按钮组件类 import java awt 湖南理工学院学生课程设计 3 import java awt event import javax swing public class OperationButton extends Button 定义单击命令按钮事件类 String 运算符号 public OperationButton String s super s 运算符号 s setForeground Color red public String get 运算符号 return 运算符号 3 3 计算器界面类 计算器界面类 import java awt import java awt event import javax swing import javax swing border import java util LinkedList 引用计算器 swing 包 awt 包的事件 LinkedList public class ComputerPad extends Frame implements ActionListener 建了类 引用 JFrame 计算器界面类 NumberButton numberButton 新建 NumberButton OperationButton oprationButton 新建 oprationButton Button 小数点按钮 正负号按钮 退格按钮 求倒数按钮 等号按钮 清零按钮 Panel panel 新建 panel 湖南理工学院学生课程设计 4 JTextField resultShow String 运算符号 自定义的 LinkedList 链表 boolean 是否按下等号 false public ComputerPad super 计算器 链表 new LinkedList numberButton new NumberButton 10 for int i 0 i 9 i numberButton i new NumberButton i numberButton i addActionListener this oprationButton new OperationButton 4 for int i 0 i 1 num num substring 0 num length 1 链表 set 0 num resultShow setText num else 链表 removeLast resultShow setText 0 else if 链表 size 3 String num String 链表 getLast if num length 1 num num substring 0 num length 1 链表 set 2 num resultShow setText num else 链表 removeLast resultShow setText 0 湖南理工学院学生课程设计 14 else if e getSource 正负号按钮 if 链表 size 1 String number1 String 链表 getFirst try double d Double parseDouble number1 d 1 d String str String valueOf d 链表 set 0 str resultShow setText str catch Exception ee else if 链表 size 3 String number2 String 链表 getLast try double d Double parseDouble number2 d 1 d String str String valueOf d 链表 set 2 str resultShow setText str 湖南理工学院学生课程设计 15 catch Exception ee else if e getSource 求倒数按钮 if 链表 size 1 链表 size 2 String number1 String 链表 getFirst try double d Double parseDouble number1 d 1 0 d String str String valueOf d 链表 set 0 str resultShow setText str catch Exception ee else if 链表 size 3 String number2 String 链表 getLast try double d Double parseDouble number2 d 1 0 d String str String valueOf d 湖南理工学院学生课程设计 16 链表 set 0 str resultShow setText str catch Exception ee else if e getSource 清零按钮 是否按下等号 false resultShow setText 0 链表 clear 4 4 测试类 测试类 import javax swing public class Test public static void main String args ComputerPad computerPad new ComputerPad 六 六 实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论