欢迎来到天天文库
浏览记录
ID:16347227
大小:182.50 KB
页数:19页
时间:2018-08-09
《面向对象的程序设计-设计一个简单的计算器应用程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、华南农业大学理学院(面向对象的程序设计)课程设计实验题目:设计一个简单的计算器应用程序简易计算器应用程序的制作问题陈述设计一个计算器应用程序,用于进行简单的加减乘除四则运算。需求分析1设计思想要设计一个计算器应用程序,则计算器必须要进行简单的四则运算功能,并且可以通过人机互动来进行操作。计算器功能主要包括下面几个方面:*计算简单的加减乘除四则运算;*通过鼠标点击输入数字信息;*显示计算结果;*计算器具有返回功能:按AC键不会清除重现存储器的内容;返零功能;2设计划分用JAVA布局管理器来创建图形界面(包括
2、TextField,Button),框架和面板主要分成三大块:框架、显示面板、和数字面板;具体分布如下:主框架主面板显示面板数字面板功能面板相应对象各组件按钮各组件按钮3界面布局按一般计算器表面布局,主要以网格的行数和列数在创建布局管器的构造方法中通过参数进行设置,另外边界布局管理器。这两种布局结合最适合计算器,大方美观。4设计要求和步骤第一步,设计图形界面。采用边界布局管理器把三个面板添加到框架上,再采用网格布局管理器,把标准AWT组件添加到界面上。第二步,根据各按钮需要,标明对象名,便于计算操作。第三
3、步,设定各按钮的特性。第四步,实例化所有按钮、设置其前景色并注册监听器。第五步,运行APPLET*运行小应用*测试各按钮的性能,是否满足问题要求。5、编译环境编码语言:JAVA编译环境:JDK1.5.0_11概要设计1设计方案要求整个程序分三部分,首先是确定程序交互的对象,每个组件要用有意义的标签标明,设计出一个大体的框架,再添加面板,各面板设计分布相互独立,各面板中的按钮分布也相互独立,其各自响应的事件都会由各自的监听动作事件所决定。当Jbutton被按下时会产生一个动作事件(actionevent)。
4、各编码要有适当的注释。2面板设置为了美观和整齐,采用了网格布局管理器进行编排显示面板和按钮排列。为了更好看,还可以添加计算器的背景色。采用边界布局管理器排面板,合理有效。由整体界面可知,显示信息主要设置在顶部(则北面),功能键设置在左面(则西面),数字按钮和运算按钮主要设置在右面(则在东面)。各按扭均有相应的数字或字母作为标签。3主要模块概要(1)主框架模块存储则是以非记忆的模式,通过读取缺省静态数据和允许用户进行动态的受限操作实现的。处理则是通过存储的数据,根据需要对参数进行修改、返回等操作。具体变量声
5、明界面设置大小如下:根据数据运算需要,数据均用双精度储存。publicclassCounterextendsFrame{//声明三个面板的布局GridLayoutgl1,gl2,gl3;Panelp0,p1,p2,p3;JTextFieldtf1;TextFieldtf2;ButtonStringBufferstr;//显示屏所显示的字符串doublex,y;//x和y都是运算数intz;//Z表示单击了那一个运算符.0表示"+",1表示"-",2表示"*",3表示"/"staticdoublem;//记
6、忆的数字….publicCounter(){//实例化三个面板的布局…..//实例化所有按钮、设置其前景色并注册监听器….//构造监听器…..}setResizable(false);setBackground(Color.pink);setBounds(100,100,320,280);setVisible(true);}(1)驱动模块publicstaticvoidmain(Stringargs[]){newCounter();}(2)事件监听器模块classBtimplementsActionLis
7、tener{publicvoidactionPerformed(ActionEvente2){try{if()….elseif()…..}}}(4)异常处理模块catch(NumberFormatExceptione){tf1.setText("数字格式异常");}catch(StringIndexOutOfBoundsExceptione){tf1.setText("字符串索引越界");}4事件处理为了响应一个事件,需要建立事件监听器与触发事件的某个组件之间的联系,通过给组件添加一个监听器的方式就可建立
8、监听器与被监听器的组件之间的联系。如程序中各个按钮ButtonListener代表一个动作监听器,通过按数字按钮进行输送信息,使内部储存信息并处理输出相关信息。Jbuttonbutton=newJbutton();Button.addActionListener(newButtonListener());由于为了方便程序需要,并没有采用按钮数组化,每一个按钮都附带一个动作监听器,可以灵活调用。5功能设计本程序的设计功能比较简单
此文档下载收益归作者所有