- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象的程序设计设计一个简单的计算器应用程序,面向对象计算器,面向对象程序设计,c面向对象程序设计,java面向对象程序设计,面向对象的程序设计,面向对象程序设计语言,面向对象程序设计教程,面向对象程序设计试题,面向对象程序设计pdf
华南农业大学理学院
(面向对象的程序设计)课程设计
实验题目: 设计一个简单的计算器应用程序
简易计算器应用程序的制作
问题陈述
设计一个计算器应用程序,用于进行简单的加减乘除四则运算。
需求分析
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事件处理
为了响应一个事件,需要建立事件监听器与触发事件的某个组件之间的联系,通过给组件添加一个
您可能关注的文档
最近下载
- 人教版(2024)七年级上册生物全册集体备课教案 .pdf
- YYT 1789.4-2022 体外诊断检验系统 性能评价方法 第4部分:线性区间与可报告区间.docx VIP
- 江西省临川第一中学2024-2025学年高一上学期开学考试历史试题(解析版).docx VIP
- 2023年汕头市投资控股集团有限公司人员招聘考试题库含答案解析.docx VIP
- 一种凝汽式汽轮机低压缸效率的在线计算方法.pdf VIP
- 口腔名词解释、大题.pdf VIP
- 《革命烈士诗抄》阅读试题及答案.docx VIP
- 招标代理投标文件.doc VIP
- 2022年汕头市投资控股集团有限公司校园招聘考试笔试试题及答案解析.docx VIP
- 2024年四川宜宾初中学业水平考试数学试卷真题(含答案详解).doc VIP
文档评论(0)