资源描述:
《《面向对象程序设计》》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《面向对象程序设计》课程设计报告题目:设计一个带图形界面的计算器学号:班级:姓名:成绩:XX大学XXXX学院2012.10一、设计思路首先构建计算器的结构框架1、创建一个计算器外框Frame。2、创建6个面板,其中:a)Panel1用于存放backspace,ce,c三键,1行,3列,水平间距5,垂直间距为5;b)Panel2用于存放数字区及运算区共20键,4行,5列,水平间距5,垂直间距为5;c)Panel3用于存放MC,MR,MS,M+键及显示M状态文本框(Panel6);d)Panel4用于存放Panel1,P
2、anel2;构成一个整体;e)Panel5存放显示器;f)Panel6用于存放MC键上方框显示;3、创建各个按键,包括数字键、运算键、backspace,ce,c及MC,MR,MS,M+。4、创建菜单条MenuBar及菜单项。5、将各个元素添加到计算器外框Frame。其次,设计运算逻辑函数actionPerformed()最后,在主函数Main()中调用框架实现和actionPerformed()二、程序功能本次课程设计的计算器所包括的功能有:数据的输入,加减乘除运算,开方运算,取倒数运算,取百分号运算,清空输入,数
3、据的保存,读取,加倍,删除。具体实现过程参见程序代码各模块的内容。三、程序代码1)面板设计及其声明变量importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassCalculationextendsWindowAdapterimplementsActionListener{doubledResult=0;doubledNowInput=0;doubledMemory;intn=0;//记载小数位数intnOperation=1;//记录
4、运算符类型intnBitsNum=0;//记录总共输入的位数booleanalreadyHaveDot=false;//已经有小数点?booleankeyAvailable=true;booleanalreadyClickedEqueal=false;//是否按下过"="?booleanisTempNowInput=false;//是否在计算出结果后直接按运算符将结果赋给了当前输入值?staticJFramef;//计算器框架staticJPanelp1,p2,p3,p4,p5,p6;//模块化,见66行分配stat
5、icJTextFieldtf1,tf2;//显示框及固定框staticJButtonb1,b2,b3,b4,b5,b6,b7,b8,b9,b0;//数字键staticJButtonbDiv,bSqrt,bMulti,bMinus,bPercent,bPlus,bReciprocal,bEqual,bDot,bNegative;//运算键staticJButtonbBackspace,bCE,bC,bMR,bMS,bMC,bM;//操作键/*创建菜单条*/staticMenuBarmba=newMenuBar();/*
6、创建菜单*/staticMenum_View=newMenu("visual");staticMenum_Edit=newMenu("edit");staticMenum_Help=newMenu("help");/*创建m_View菜单项*/staticMenuItemm_View_1=newMenuItem("standard",newMenuShortcut(KeyEvent.VK_1));staticMenuItemm_View_2=newMenuItem("scientist",newMenuShortcu
7、t(KeyEvent.VK_2));staticMenuItemm_View_3=newMenuItem("programmer",newMenuShortcut(KeyEvent.VK_3));staticMenuItemm_View_4=newMenuItem("statistic",newMenuShortcut(KeyEvent.VK_T));staticMenuItemm_View_5=newMenuItem("history",newMenuShortcut(KeyEvent.VK_H));/*创建m_E
8、dit菜单项*/staticMenuItemm_Edit_1=newMenuItem("copy",newMenuShortcut(KeyEvent.VK_C));staticMenuItemm_Edit_2=newMenuItem("paste",newMenuShortcut(KeyEvent.VK_V));/*创建m_Help菜单项*/s