- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
华南农业大学理学院
面向对象的程序设计 课程设计
实验题目: 设计一个简单的计算器应用程序
简易计算器应用程序的制作
问题陈述
设计一个计算器应用程序,用于进行简单的加减乘除四则运算。
需求分析
1设计思想
要设计一个计算器应用程序,则计算器必须要进行简单的四则运算功能,并且可以通过人机互动来进行操作。计算器功能主要包括下面几个方面:
*计算简单的加减乘除四则运算;
*通过鼠标点击输入数字信息;
*显示计算结果;
*计算器具有返回功能:按AC键不会清除重现存储器的内容;返零功能;
2设计划分
用JAVA布局管理器来创建图形界面(包括TextField,Button),框架和面板主要分成三大块:框架、显示面板、和数字面板;具体分布如下:
3界面布局
按一般计算器表面布局,主要以网格的行数和列数在创建布局管器的构造方法中通过参数进行设置,另外边界布局管理器。这两种布局结合最适合计算器,大方美观。
4设计要求和步骤
第一步,设计图形界面。
采用边界布局管理器把三个面板添加到框架上,再采用网格布局管理器,把标准AWT组件添加到界面上。
第二步,根据各按钮需要,标明对象名,便于计算操作。
第三步,设定各按钮的特性。
第四步,实例化所有按钮、设置其前景色并注册监听器。
第五步,运行APPLET
*运行小应用
*测试各按钮的性能,是否满足问题要求。
5、编译环境
编码语言:JAVA
编译环境:JDK 1.5.0_11
概要设计
1设计方案要求
整个程序分三部分,首先是确定程序交互的对象,每个组件要用有意义的标签标明,设计出一个大体的框架,再添加面板,各面板设计分布相互独立,各面板中的按钮分布也相互独立,其各自响应的事件都会由各自的监听动作事件所决定。当Jbutton被按下时会产生一个动作事件 action event 。各编码要有适当的注释。
2面板设置
为了美观和整齐,采用了网格布局管理器进行编排显示面板和按钮排列。为了更好看,还可以添加计算器的背景色。采用边界布局管理器排面板,合理有效。
由整体界面可知,显示信息主要设置在顶部(则北面),功能键设置在左面(则西面),数字按钮和运算按钮主要设置在右面(则在东面)。各按扭均有相应的数字或字母作为标签。
3主要模块概要
主框架模块
存储则是以非记忆的模式,通过读取缺省静态数据和允许用户进行动态的受限操作实现的。处理则是通过存储的数据,根据需要对参数进行修改、返回等操作。具体变量声明界面设置大小如下:
根据数据运算需要,数据均用双精度储存。
public class Counter extends Frame
//声明三个面板的布局
GridLayout gl1,gl2,gl3;
Panel p0,p1,p2,p3;
JTextField tf1;
TextField tf2;
Button
StringBuffer str;//显示屏所显示的字符串
double x,y;//x和y都是运算数
int z;//Z表示单击了那一个运算符.0表示+,1表示-,2表示*,3表示/
static double m;//记忆的数字….
public Counter
//实例化三个面板的布局
…..
//实例化所有按钮、设置其前景色并注册监听器
….
//构造监听器
….
.
setResizable false ;
setBackground Color.pink ;
setBounds 100,100,320,280 ;
setVisible true ;
驱动模块
public static void main String args[]
new Counter ;
事件监听器模块
class Bt implements ActionListener
public void actionPerformed ActionEvent e2
try
if
….
else if
…..
4 异常处理模块
catch NumberFormatException e
tf1.setText 数字格式异常 ;
catch StringIndexOutOfBoundsException e
tf1.setText 字符串索引越界 ;
4事件处理
为了响应一个事件,需要建立事件监听器与触发事件的某个组件之间的联系,通过给组件添加一个监听器的方式就可建立监听器与被监听器的组件之间的联系。如程序中各个
您可能关注的文档
最近下载
- 《道路运输管理实务》课件——第五章 特种货物运输业务组织.pptx VIP
- A公司个人所得税纳税筹划案例分析.docx VIP
- 高压供电系统的设计.pdf VIP
- PLC应用技术(西门子S7-1200)全套教学课件.pptx VIP
- 新教材人教版二年级数学上册 第1 单元 分类与整理 第4课时 练一练.pptx VIP
- 装修合同协议书工装.doc VIP
- 人教PEP版五年级上册英语全册教案(6个大单元整体教学设计).pdf VIP
- 一种电子烟挥发性气体检测报警装置.pdf VIP
- 《道路运输管理实务》课件——第四章 零担货物运输业务组织.pptx VIP
- 中职《中华优秀传统文化选讲》 第二讲 璀璨华章——文学经典.pptx VIP
文档评论(0)