java计算器小程序开发文档_第1页
java计算器小程序开发文档_第2页
java计算器小程序开发文档_第3页
java计算器小程序开发文档_第4页
java计算器小程序开发文档_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、湖南理工学院学生课程设计 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 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 湖南理

3、工学院学生课程设计 1 一、一、实验目的与要求:实验目的与要求: 1 1、实验目的:、实验目的: 1、进一步掌握利用 java 进行图形用户界面的定义和操作方法。 2、进一步掌握类的继承和派生方法。 3、综合利用上述知识,学习设计并编写实用的 java 简单 gui 应用程序。 4、熟悉 java.awt 包中的组件,掌握图形界面设计方法,理解委托事件处理模型。 5、请设计并实现 windows 系统中“计算器”的窗口及功能。 2 2、实验要求、实验要求: 1、设计图形界面添加菜单:窗口上添加各种组件及菜单,并处理组件及菜单的事 件监听程序。 2、运算:实现多种运算,保证运算正确性。 二、二、

4、引言:引言: 随着人们痛心或了解信息的越来越数据化,特别是要求高速度的获取想要的信息计算 机的要求越来越高,不仅是在其容量上越来越大,特别是在其功能上要求的实现越来越 多,数据类型和精确度越来越精确。 该程序是一个基于 java 的程序设计界面设计的功能较简单的计算器系统,实现了用户简 单计算功能。 1 1、javajava 用户界面概述:用户界面概述: 图形用户界面(gui)是指以图形的显示方式与用户实现交互操作的应用程序界面,实际具有 gui 特征的应用程序被称为 gui 应用程序设计。其相关类主要封存在两个包(java.awt 和 javax.swing)中,其中包含了实现图形用户界面的

5、所有基本元素,这些基本元素主要包括容器、组件、 绘图工具与布局管理器等。 java.awt 是 java 用来建立 gui 的图形包,这里的“awt”是抽象窗口工具包的缩写,其中的 组建爱你常被称为 awt 组件。 javax.swing 是 awt 改进包。 2 2、设计用户界面基本步骤:、设计用户界面基本步骤: 湖南理工学院学生课程设计 2 1、创建面板容器设置组件。 2、将组件加入到容器中。 3、布局组件。 4、处理由组件产生的事件。 3 3、gridlayoutgridlayout 布局管理器:布局管理器: 被称为网格布局管理器,计算器的设计就是一种 gridlayout 布局管理器的

6、具体设计。 三、三、设计内容与分析设计内容与分析: : 1 1、设计内容:设计内容: 通过图形用户界面(gui)的设计方法设计一个小型的计算器系统。要求能实现计算器的基 本功能,如:+、-、*、/、%、 ” +/-” 、 “1/x” 、 “backspace”等。 2 2、分析:分析: 简易计算器的功能只限定可以对实数进行+、-、*、/的计算,但是要考虑连续计算功能。 这个程序应当包括两个部分:应用程序界面;事件处理。 设计三个类:控制界面布局的面板容器类;外层窗口类;测试类。 四、四、各模块功能的介绍和实现各模块功能的介绍和实现: 1、所用到的 java 类库包: java.awt.*;基本

7、的图形界面组件来源于 awt 包。 java.awt.event.*;事件的属性处理来源于 awt.event 包。 javax.swing.*; swing 组件增加了 awt 包中所不具备的各种优越功能。 javax.swing.border.*; java.util.linkedlist; 链表。 湖南理工学院学生课程设计 3 2 2 、所用的各部分图形组件的定义、所用的各部分图形组件的定义: : private jlabel display;/显示结果 private jpanel panel; private double result; private string lastcom

8、mand; 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 i

9、nt getnumber() return number; 2.2.命令按钮组件类:命令按钮组件类: import java.awt.*; 湖南理工学院学生课程设计 4 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 运算符

10、号() 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 nu

11、mberbutton; /新建 numberbutton operationbutton oprationbutton; /新建 oprationbutton button 小数点按钮,正负号按钮,退格按钮, 求倒数按钮,等号按钮,清零按钮; panel panel; /新建 panel 湖南理工学院学生课程设计 5 jtextfield resultshow; string 运算符号=+,-,*,/; /自定义的 linkedlist 链表; boolean 是否按下等号=false; public computerpad() super(计算器); 链表=new linkedlist();

12、 numberbutton=new numberbutton10; for(int i=0;i=9;i+) numberbuttoni=new numberbutton(i); numberbuttoni.addactionlistener(this); oprationbutton=new operationbutton4; for(int i=0;i=1) num=num.substring(0,num.length()-1); 链表.set(0,num); resultshow.settext(num); else 链表.removelast(); resultshow.settext(

13、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); 湖南理工学院学生课程设计 15 else if(e.getsource()=正负号按钮) if(链表.size()=1) string number1=(string)链表.getfirst(); tr

14、y 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); resultsho

15、w.settext(str); 湖南理工学院学生课程设计 16 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(链表.s

16、ize()=3) string number2=(string)链表.getlast(); try double d=double.parsedouble(number2); d=1.0/d; string str=string.valueof(d); 湖南理工学院学生课程设计 17 链表.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 comput

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论