




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象程序设计(JAVA) 课程设计(论文)档案题目:学院:专业:姓名:学号班级:指导教师:职称:完成日期:保存计算过程的计算器信息学院讲师2013年12月NANCHANG INSTITUTEOF SCIENCE & TECHNOLOGY面向对象程序设计(JAVA)课程设计(论文)题目:保存计算过程的计算器学院:信息学院专 业:姓 名:学 号:班 级:指导教师:职 称:进咂完成日期:2013年12月摘要当下计算机技术发展迅捷,人们已经不能满足于采用人工进行大量的计 算,计算器快速的计算速度和稳定的准确率很好的满足了用户的需要,然而 Windows自带的计算器所提供的功能已经无法满足人民日益增长的需求,保 存计算过程的计算器更是能够让用户随时随地的查找以前的计算过程,能够 提供给用户更加好的体验感受。基于上面的几点因素,保存计算过程的计算器正是在这样的需求之下应 运而生的,目的旨在帮助用户快速准确的得到计算结果。本次实验课题使用 了 JAVA语言,开发平台选用Eclipse这个开源的编译软件,主要原因就是其 强大的跨平台能力与超过C+语言MFC所提供的包含框架界面设计功能。由 于其是面向对象的语言,所以整个代码看上去尽然有序,更加健壮、易读。对于程序本身,由于时间有限只能做出简易的计算功能,旨在实现保存 计算过程这一目标,更加多的科学计算器功能可以通过模块的方式进行快速 集成,体现出了面向对象的模块化设计的特性。【关键字】保存计算过程,计算器,JAVA语言.Eclipse,模块化AbstractWith the rapid development of computer technology nowadays, people are not satisfied with the manually way that conduct a large number of calculations any more. Computers, which have the high speed of the calculation and stable accuracy, meet users needs well. However, the functions of Windows own calculator have been unable to meet the growing needs of people. But the calculator saving the calculation procedure enables users to search the procedure at any time and no matter where they are and it provides the users with a better and totally new experience.Taking all the facts above into consideration, the calculator that saving the calculation procedure works, in such a condition. It aims at helping the users to get the calculation results as quickly as possible. For this experimental subject, JAVA language has been used.Also used Eclipse software. The main reason of it is that it has quite a powerful ability of cross platform. Besides, the function of framework interface designation surpasses the C+ MFCs. Since it is an object-oriented language, the whole codes seem more orderly, stronger and easier to read.As for the process itself, only the simple calculations can be made due to the limited time. Nevertheless, to make the calculation procedure saved, more and more scientific calculator functions can be quickly integrated through the way of module which reflects the features of object-oriented modular design.Key words Save computational process; Calculator; JAVA language; Eclipse; Modularization、八 、-刖11需求分析21设计目的21.2程序需求分析21.3系统目标21.4主要设计思想31.5开发环境配置32程序设计42概要设计42.2详细设计72.3设计小结93代码编写103导入包103.2各模块代码104测试与调试144.1主界面测试144.2计算操作144.3清零操作154.4保存操作154.5清除操作165软件发布17总结与体会18参考文献19致谢20附录21南昌工学院课程设计论文、八、冃U S在日常生活中人们总是难以避免的要进行一些运算,当运算比较复杂时 没有一个计算器就会显得很麻烦。为了解决这种日常生活中的困难特意设计 了这个计算器小程序。该程序不仅可以进行整数的加、减、乘、除等简单运算,也可以进行浮 点数的加、减、乘、除等运算。除此之外还可以对已计算的结果和计算步骤 进行复制、粘贴等储存功能,同时具有清屏按键,让显示更加美观。人们应用它可以解决日常生活中的些运算问题,比如做买卖时,进行 交易的过程中就可以利用该计算器进行数量、价格以及总金额的计算与保存。 学生也可以利用该计算器进行数学运算,并且对计算过程进行保存,方便日 后检验跟进。整个计算器的功能简单易懂,界面清新简洁,并且在日后再开 发时可以方便的进行功能的添加与更改。最后,该程序使用JAVA作为平台开发,充分体现了其跨平台的优势,可 以在Windows、Linux MAC OS等系统,还有各类手持便携系统中使用,大大 提升了应用范围,减小了成本。391需求分析1.1设计目的1、掌握JAVA语言编程的基础知识并能熟练运用。2、熟悉类声明与对象的使用。3、理解委托时间处理模型。4、了解JAVA语言的图形用户界面JAVA SWING的设计知识。5、运用Eclipse编写简单计算器程序,并实现其功能。6、掌握Windows环境下JDK的安装与配置。7、掌握JAVA程序的运行方法与Eclipse开发软件的使用方法。1. 2程序需求分析Windows 2000/XP系统中的“计算器”是一个方便实用的计算工具,但 没有提供显示计算过程和保存计算过程的功能。该计算器将加入这两个功能, 其余功能与自带计算器所遵循的计算规则相同。1、单击“计算器”上的数字按钮可以设置参与计算的运算数。2、单击“计算器”上的运算符按钮可以选择运算符号。3、单击“计算器”上的函数按钮可以计算出相应的函数值。4、单击“计算器”上的按钮显示计算结果。5、在一个文本框中显示当前的计算过程,在一个文本区中显示以往的计 算过程。6、单击“保存”按钮可以将文本区中的全部计算过程保存到文件;单击 “复制”按钮可以将文本区中选中的文本复制到剪贴板;单击“清除”按钮可以清除文本区中的全部内容。通过使用所学的SWT构件出计算器的界面,包括添加数字按钮、运算 符按钮、文本框、菜单栏、功能按钮等。然后通过对界面上面按钮或者菜单 栏内容的监听,使其在点击按钮的时候产生相应的效果。1. 3系统目标一个简单的计算器程序,用户可以利用鼠标点击数值或操作符按键完成 计算的输入,计算的结果将被显示在窗口右侧的文本框中。通过右侧底部的 保存按钮,可以完成对历史步骤的保存,可以导出成文本格式。点击清除按 钮,可以将文本框清空。1. 4主要设计思想对于此计算器程序,首先要设计其GUI界面,总体界面有一个文本框, 23个按钮,上部的文本显示区和文本框下部的3个核心功能按钮。文本框放置在右侧,然后0到9以及*, /, Sin的按钮放置到一个 面板中,添加到整体布局中,界面设计完成。布局设计好后再添加按钮事件,对于此程序要考虑到点击加、减、乘、 除按钮时是否有点击数字按钮,如果是第一次点击数字按钮或者是点击数字 按钮前点击了加、减、乘、除按钮则直接把数字按钮的数值设置到文本框中, 否则则应把文本框中的内容加上你所点击按钮的数值设置到文本框中。在进行加、减、乘、除计算时要把点击加、减、乘、除按钮之前的数值 保存下来,运算时是这个被保存下来的数值和文本框中的数值加、减、乘、 除。程序的运算功能结束后,输出到文本显示区,在右侧文本框中增加一条 记录。通过文本框底部的保存文本框中的计算历史,或者复制文本框中的内 容到剪贴板待用。如果不需要保存,通过点击清除按钮,完成对文本框的初 始化,整个程序循环结束。1. 5开发环境配置通过Sun公司官网下载对应版本JDK后,双击进行默认设置安装。结束后, 必须设置Windows下的Java运行的环境变量,步骤如下:1)在系统变量中,新建JAVA_HOME名称的变量,填入JDK安装的目录即 可;2)新建PATH名称的变量,变量值为 %JAVA_HOME%bin;%JAVA_HOME%jrebin;3)新建CLASSPATH名称的变量,变量值为.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar0完成后,通过命令提示符CMD输入“javac ”和“java-version ”进行验证, 以确定JDK和环境变量正确设置。2程序设计2.1概要设计2.1.1功能框图根据所构造好的计算器的各个功能,设计出计算器运行的功能框图如图2-1所示。保存过程的计知器请fllffi本的内 击按以文屮部 单除可除区全容复钮将IX屮本到板 击按以本选文制贴 单制可文屮的复頃保ill将区全算保文 击按以本的计程到 单存可文屮部过存件个框示过-本显算在文屮让程等示结 击显算 单号讣果函钮相数 击按算函 单数让应值运按择符 击符选克 单H-fll运数111计运 击按用的数 单字设算算图2-1计算器运行的功能框图设计好的程序框图中,包含有如下模块:单击数字按钮设置计算的运算 数、单击运算符按钮选择运算符、单击函数按钮计算相应函数值、单击等号 显示计算结果、在一个文本框中显示当前的计算过程、在一个文本区中显示 以往的计算过程、单击保存按钮可以将文本区中的全部计算过程保存到文件、 单击复制按钮可以将文本区中选中的文本复制到剪贴板、单击清除按钮可以 清除文本区中的全部内容。各个功能模块相互配合、调用,组成了一个可以保存计算过程的计算器 的基本功能。2.1.2类组合关系图根据程序框图,设计出包含如下类:1、主类:CalculatorWindow2 功能类:NumberButton、Operation Button, HandleDigit、HandleDot、 HandleOperation HandlePOrN, HandleEquality HandleSin、HandleBack HandleCIear通过上述11个类之间的组合关系,设计出的类之间的组合关系图如图 2-2所示。计算器除了上述11个Java源文件所给出的类外,还需要Java系统提供 的一些重要的类,如 Jbutton, JTextField, JTextArea, LinkedList 等。这 些也是构成程序框架必不可少的一些类,通过调用这些类来进行计算器按钮、 文本区、文本框等等的构建。以上各类的详细说明将会在后文中出现,这一步主要完成了程序框架架 构的设计,即模块化的设计,为各项功能的实现打下基础。2. 1. 3程序流程图根据Z前对各功能模块与各个类组合关系的设计,设计出程序运行流程图如图23所示。开始初始4匕变量删除输入的数输出数字进行计算结束图2-3程序运行流程图数了通过分析需求,该计算器的程序流程如图中,先各变量初始化,之后根 据不同按钮监听返回的内容来选择使用不同功能运行,最后获取到等于按钮 时判断是否输出结果,或者清除文本区内容之后初始化变量,结束整个循环。经过该步骤对程序运行流程的设计,整个程序由立项,功能模块确定再 到功能类关系组合等,这一系列设计共同组成了程序先期的工作方向,以下 开始便是进行代码实现阶段,对各个设定好的功能类进行代码编写,以实现 整个保存计算过程的计算器的核心功能。2. 2详细设计2.2.1各类的功能1、主类Calculatorwindow类负责创建计算器的主窗口,该类包含有main方法。计算器从该类开始执行,其中包含14种类型的对象,分别是:NumberButton、OperationButton, HandleDigit HandleDot、HandleOperation HandlePOrN HandleEquality、HandleSin HandleBack 和 HandleClear 对象。Calculatorwindow 类是 javax.swing 包中 JFrame 的一个子类,并实现了 ActionListener接口。标明该类的主要成员变量和方法的UML图如图2-4所JFrameActionListenerACalculatorwindownumberButtonoperationButton小数点操作,正负号操作,退格操作,等号操作,清零操作,sin, saveButton, co pyButton, clearButton, resultShow, showComputerProcess saveComputerProcesslisthandleDigithandleoperation handleBack handleClear handleEquality handleDot handlePOrN handleSinactionPeformed():void CalculatorW indow() main():void图 2-4 Calculatorwindow 类的 UML 图CalculatorWindow 类的 UML 图中,包含成员变量:numberButton, operationButton,小数点操作,正负号操作,退格操作,等号操作,清零操作, sin, saveButton, copy Button, clearButton, resultShow, showComputerProcess, saceComputerProcess, list, handleDigit, HandleOperation, HandleBack, HandleClear, handleEquality, handleDot, handlePOrN, HandleSino 包含方法: actionPeformed(), CalculatorWindow(),main() o2、功能类1) NumberButton 类该类创建的对象是主类Calculatorwindow窗口中的一个数字按钮。 NumberButton类有一个int类型的成员number,标明所创建的按钮所含有的 数字。该类所创建的10个按钮被添加到CalculatorWindow窗口中。2) OperationButton 类该类创建的对象是主类CalculatorWindow窗口中的一运算符按钮。 OperationButton类有一个String类的成员operateSign,用于标明所创建的按 钮所含有的运算符号。该类所创建的4个按钮被添加到CalculatorWindow窗 口中。3) HandleDigit 类该类创建的对象负责处理ActionEvent事件。当用户单击“数字”按钮时, 该类所创建的对象负责处理和数字有关的计算过程。4) HandleOperation 类该类创建的对象负责处理ActionEvent事件。当用户单击“运算符”按钮 时,该类所创建的对象负责处理和运算符有关的计算过程。5) HandleDot 类该类创建的对象负责处理ActionEvent事件。当用户单击按钮时, 该类所创建的对象负责处理小数点。6) HandlePOrN 类该类创建的对象负责处理ActionEvent事件。当用户单击按钮时, 该类所创建的对象负责处理数字的正负转换。7 ) HandleEquality 类该类创建的对象负责处理ActionEvent事件。当用户单击“=”按钮时, 该类所创建的对象计算有关数据。8) HandleSin 类该类创建的对象负责处理ActionEvent事件。当用户单击Sin按钮时,该 类所创建的对象负责计算正弦三角函数的值。9) HandleBack 类该类创建的对象负责处理ActionEvent事件。当用户单击“退格”按钮时, 该类所创建的对象负责进行退格操作。10) HandleClear 类该类创建的对象负责处理ActionEvent事件。当用户成功单击C按钮时, 该类所创建的对象负责清除有关的计算结果。2. 3设计小结根据上述概要设计和详细设计得出了一份完整的程序设计清单,包括将 要实现的功能类、类之间的组合关系和程序的运行流程,通过这些清单,可 以有条理,分层次、模块的进行代码的编写,让自己的编程思路更加清晰, 达成了程序健壮性、易读性等目标。在程序的设计阶段,碰到很多棘手的问题,由于第一次进行Java程序的 编写,对其提供的基础类不熟悉,导致在构建程序框架的时候出现诸多问题, 在不断的查书、请教老师的过程中,终于使所有问题迎刃而解,让自己更加 透彻的了解了 Java界面架构类的使用方法和技巧,为之后的代码编写打下了 坚实基础。3代码编写3.1导入包import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.borde 匚*;import java.util.LinkedList;import java.io.*;3. 2各模块代码3. 2. 1 Handl eBack 类HandleBack 类实现了 ActionListener 接口,创建的对象 handleBack 是 Calculatorwindow窗口的成员之一,该类实现了退格算法。使用到如下代码进行退格判定和操作:if(num.length()= 1)num=num.substring(O,num.length()-1);list.set(O,num);resultShow.setText(num);showComputerProcess.setText(,H,+num);elselist.removeLast();resultShow.setText(nO);showComputerProcess.setText(0);该类中包含了成员变量:list resultShow showComputerProcess;包含 方法:构造方法 HandleBack(LinkedListvString,JtextField,JtextField)、 HandleBack类实现的ActionListener接口中的方法。3. 2. 2 Handl eClear 类HandleClear 类实现了 ActionListener 接口,创建的对象 handleBack 是 Calculatorwindow窗口的成员之一,该类实现了清零算法。使用到如下代码进行清零:resultShow.setText(On);list.clear();showComputerProcess.setText(null);该类中包含了成员变量:list、resultShow showComputerProcess;包含 方法:构造方法 HandleClear(LinkedList,JtextField,JtextField) HandleClear类实现的ActionListener接口中的方法。当用户点击“清零操作” 按钮时就会触发ActionEvent事件,执彳亍actionPerformed(ActionEvent)方法, 将resultShow中显示的数字设置为0,并清除showComputerProcess中显示 的计算过程。3. 2. 3 HandleDot 类HandleDot 类实现了 ActionListener 接口,创建的对象 handleDot 是 Calculatorwindow窗口的成员之一,该类实现了处理小数点算法。使用到如下代码进行小数点的判定和处理:String dot=e.getActionCommand();String num=list.getFirst();String s=null;if(num.indexOf(dot)=-1) s=num.concat(dot);list.set(O,s);elses=num;list.set(O,s);resultShow.setText(s);showComputerProcess.setText(+list.get(O);3.2.4 HandleDigit 类HandleDigit 类实现了 ActionListener 接口,创建的对象 handleDigit 是 Calculatorwindow窗口的成员之一,该类实现了获取数字的算法。通过此语句获得点击的数字:NumberButton b=(NumberButton)e.getSource();传递、显示点击的数字:int number=b.getNumber();list.add(M+number);resultShow.setText(,+number); showComputerProcess.setText(nn+list.get(0);3.2.5 Hand1eOperation 类HandleOperation 类实现了 ActionListener 接口,创建的对象 handleoperation是Calculatorwindow窗口的成员之一,该类实现了获取符号 的算法。通过此语句获得点击的符号:OperationButton b=(OperationButton)e.getSource();通过如下代码进行加减乘除的判断和运算:if(运算符号.equals(”+”)result=nl+n2;else if(运算符号.equals(-n)result=nl-n2;else if(运算符号.equals(”*”)result=nl*n2;else if(运算符号.equals(/)result=nl/n2;该类中包含了成员变量:list resultShow showComputerProcess;包含 方法:构造方法 HandleOperation(LinkedListvString,JtextField,JtextField)、 HandleOperation类实现的ActionListener接口中的方法。当用户点击运算符 按钮吋就会触发ActionEvent事件,执彳亍actionPerfonned(ActionEvent)方法, 负责处理list链表中存储的运算符和必要的计算。3. 2.6 HandleSin 类HandleSin 类实现了 ActionListener 接口,创建的对象 handleSin 是 Calculatorwindow窗口的成员之一,该类实现了正弦函数值算法。当 list.size()=l lllist.size()=2 时,需要算法:double x=Double.parseDouble(numOne);double result=Math.sin(x);String str=String.valueOf(result);list.set(O,str);resultShow.setText(str);list.removeLast(); /移掉运算符号当list.size()=3)时,需要算法:String numTwo=list.getLast();double x=Double.parseDouble(numTwo);double result=Math.sin(x);String str=String.valueOf(result);list.set(O,str);resultShow.setText(str);list.removeLast(); 移掉第2个运算数list.removeLast(); /移掉运算符号该类中包含了成员变量:list、resultShow showComputerProcess;包含 方法:构造方法 HandleSin(LinkedList,JtextField,JtextField) HandleSin 类实现的ActionListener接口中的方法。当用户点击“Sin”按钮时就会触发 ActionEvent事件,执彳亍actionPerfonned(ActionEvent)方法,将输入的数字的 正弦函数值计算出来。注:由于主类Calculatorwindow中为窗口的创建代码,负责调用各个功 能类,实现main()方法等,所以重在对各模块代码的分析,主类的代码见附 录。4测试与调试4. 1主界面测试运行Calculatorwindow类后,主界面如图4-1所示。图4-1主界面图图中,主界面包含:程序名称“计算器”;左侧界面:10个数字按钮, 运算符按钮,清零、退格按钮,正负数变换按钮,小数点按钮,正弦函数运 算按钮和等于按钮;右侧界面:保存、复制、清除按钮和一个文本框。4. 2计算操作使用计算器进行加、减、乘、除操作和正弦计算操作,操作后的界面如 图4-2所示。图4-2计算操作图4. 3清零操作对文本区进行清零操作,将文本区重置为0,清零操作如图4-3所示。图4-3清零操作图4. 4保存操作将文本框中保存的历史计算过程以文本格式“lsj.txt”进行保存,保存操 作如图4-4所示。图4-4保存操作图4. 5清除操作将所有保存在文本框中的历史计算过程清除,进行新的计算任务,清除 操作前如图4-5所示,清除操作成功如图4-6所示。图4-5清除操作前图4-6清除操作成功5软件发布软件的发布可以使用jar.exe命令制作JAR文件来发布编写的软件。1) 首先用文本编辑器,如Windows下的“记事本”,编写一个清单文件: mymoon.mfManifest-Version:1.0Main-Class: CalculatorwindowCreated-By: 1.2(Sun Microsystems Inc.)将mymoon.mf保存到与程序所用的字节码文件保存在相同的目录中。2) 生成JAR文件D: *jar cfm Calculator.jar mymoon.mf *.class其中,参数c表示要生成一个新的JAR文件,f表示要生成的JAR文件 的名字,m表示清单文件的名字。现在就可以将Calculator.jar复制到任何一个安装了 Java运行环境的计算 机上,用户双击该文件即可运行该软件。总结与体会通过这次实习让我更加深刻的理解了书本上的知识,得到了一个运用 JAVA语言编写程序的实践机会,将课本上的知识变为实践。通过这两个周的 实习也大大的锻炼了我分析解决问题的能力,在建立代码的初期,我觉得程 序框架的建立好像不难,但是越往后做越发现,越做越难,因为在往后做的 过程中,发现部分类的功能无法正常实现,因此浪费了很多的时间。令人遗憾的是在这次实践中,我所做的保存计算过程的计算器并没有完 成预期的功能,本来是想着挺简单的,但是实践起来真的很难,再加上时间 紧迫,所以就只实现了一些简单的功能,并没有加入科学计算等功能。虽然这次实践圆满结束了,但我仍然不能放松前进的脚步,在程序的编 写过程中,自己对JAVA这门面向对象的语言产生了浓厚的兴趣。这门独特的 语言并不像C语言那样需要为指针地址烦恼,只是巧用搭积木的方法,便让 一个带图形界面的小程序运行起来,很惊叹于JAVA语言的作者的无限的创造 能力,带给了我们后人很多便捷,也带来了许许多多优秀的程序。另外,此次课程设计让我更了解熟悉了 Java中的图形用户界面和它的编 程方式。在完成课题的过程中也不断充实了自己,学习到了很多以前没有学 习到的知识,收获很大。最大的收获是在完成过程中培养的解决问题的能力。 在做课程设计时必然会遇到困难,会有不会的东西,重要的不是现在会不会, 而是遇到问题知道如何找到解决的途径。还使我对所学知识能够融会贯通, 又不断丰富了新知识。Java计算器设计使得我对所学的专业课有了更为深刻 的认识,使得知识得到了巩固和提高。参考文献1 耿祥义,张跃平.Java程序设计(第二版)M,北京:清华大学出版社,2008, 23-49.2 耿祥义.Java 2实用教程(第三版)M.北京:清华大学出版社,2006.3 吕凤翥.Java语言程序设计(第二版)M.北京:清华大学出版社,2010.刘升华.JAVA从入门到实践M.北京:清华大学出版社,200&5 陈平.软件设计师教程M.北京:清华大学出版社,2004.6 绕一梅.Java语言程序设计M.北京:人民邮电大学出版社,2010.致谢首先要感谢曾经帮助过我的老师的悉心指导,很多专业上的疑惑都是在 你帮助下解开的,然后还要感谢那些提供无私帮助的同学、朋友,没有你们 我的程序也不会像今天一样健壮!我还要感谢那些书籍的编著者,您们就像一双双的手在我最困难的时候 帮助我渡过难关,还有那些在网络上留下资料帮助我的好心人,萍水相逢却 不吝赐教让我很感动。秉承着他们的精神,我会在以后的路途中,也帮助那些同我曾经一样迷 茫的朋友,为他们提供自己所学的知识,希望他们像我一样从中得到灵感, 为JAVA程序的设计与发展做出更多贡献,在更多领域造福大众,为国家的信 息科技发展注入新鲜血液。附录Calculatorwindow主类代码如下:import java.awt.*;import java.awt.event.*;import javax.swing.*;import javax.swing.borde r.*;import java.util.LinkedList;import java.io.*;public class Calculatorwindow extends JFrame implements ActionListenerNumberButton numberButton;OperationButton operationButton;JButton小数点操作,正负号操作,退格操作,等号操作,清零操作,sin;JTextField resultShow;显示计算结果JTextField showComputerProcess; /显示当前计算过程JTextArea saveComputerProcess; 显示计算步骤JButton saveButton,copyButton,clearButton;LinkedList list;链表用来存放第一个运算数、运算符号和第二个运算数HandleDigit handleDigit; 负责处理 ActionEvent 事件HandleOperation handleOperation ;HandleBack handleBack;HandleClear handleClear;HandleEquality handleEquality;HandleDot handleDot;HandlePOrN handlePOrN;HandleSin handleSin;public CalculatorWindow()setTitleC计算器”);JPanel panelLeft,panelRight;list=new LinkedList();resultShow=new JTextField(lO);resultShow.setHorizontalAlignment(JTextField.RIGHT); resultShow.setForeground(Colo r.blue);resultShow.setFont(new Font(nTimesRomanH,Font.BOLD, 16); resultShow.setBorder(new SoftBevelBorder(BevelBorder.LOWERED); resultShow.setEditable(false);resultShow.setBackground(Colo 匚 white);showComputerProcess=new JTextField();showComputerProcess.setHorizontalAlignment(JTextField.CENTER);showComputerProcess.setFont(new Font(”Arial”,Font.BOLD, 16);showComputerProcess.setBackground(Colo 匸 cyan); showComputerProcess.setEditable(false);saveComputerProcess=new JTextArea();saveComputerProcess.setEditable(false);saveComputerProcess.setFont(new Font(”宋体,Font.PLAIN,l6); numberButton=new NumberButton10;handleDigit=new HandleDigit(list,resultShow,showComputerProcess); for(int i=0;iv=9;i+)numberButtoni=new NumberButton(i);numberButtoni.setFont(new Font(”Arial”,Font.BOLD,20); numberButtoni.addActionListener(handleDigit);operationButton=new Operation Button 4;handleOperation=new HandleOperation(list,resultShow, showComputerProcess,saveComputerProcess);String 运算符号匸for(int i=0;iv4;i+)operationButtoni=new OperationButton(运算符号i); operationButtoni.setFont(new Font(nArial,Font.BOLD,20); operationButtoni.addActionListener(handleOperation);小数点操作二new JButton(n.n);handleDot=new HandleDot(list,resultShow,showComputerProcess); 小数点操作.addActionListener(handleDot);正负号操作二new JButton(n+/-H);handlePOrN=new HandlePOrN(list,resultShow,showComputerProcess); 正负号操作.addActionListener(handlePOrN);等号操作二new JButton(n=u);handleEquality=new HandleEquality(list,resultShow,showComputerProcess,saveComputerProcess);等号操作.addActionListener(handleEquality);sin=new JButton(nsinn);handleSin=new HandleSin(list,resultShow,showComputerProcess,saveComputerProcess);sin.addActionListener(handleSin);退格操作二new JButton(K退格”);handleBack=new HandleBack(list,resultShow,showComputerProcess); 退格操作.addActionListener(handleBack);清零操作二new JButton(C);handleClear=new HandleClear(list,resultShow,showComputerProcess); 清零操作.addActionListener(handleClear);清零操作.setForeground(Color.red);退格操作.setForeground(Color.red);等号操作.setForeground(Color.red);sin.setForeground(Color.blue);正负号操作.setForeground(Color.blue);小数点操作.setForeground(CoIor.blue);panelLeft=new JPanel();panelRight=new JPanel();panelLeft.setLayout(new BorderLayoutO);JPanel centerInLeft=new JPanel();panelLeft.add(resultShow,BorderLayout.NORTH); panelLeft.add(centerInLeft,BorderLayout.CENTER); centerInLeft.setLayout(new GridLayout(4,5); centerInLeft.add(numberButton 1 );centerInLeft.add(numberButton2); centerInLeft.add(numberButton3); centerInLeft.add(operationButton0);centerInLeft.add(清零操作); centerInLeft.add(numberButton4); centerInLeft.add(numberButton5); centerInLeft.add(numberButton6); centerInLeft.add(operationButton 1 );centerInLeft.add(退格操作); centerInLeft.add(numberButton7); centerInLeft.add(numberButton8); centerInLeft.add(numberButt on 9); centerInLeft.add(operationButton2);centerlnLeft.add(sin);centerInLeft.add(numberButton0);centerInLeft.add(正负号操作); centerInLeft.add(小数点操作); centerInLeft.add(operati on Butto n3);centerInLeft.add(等号操作); panelRight.setLayout(new BorderLayoutO); panelRight.add(showComputerProcess,BorderLayout.NORTH); saveButton=new JButton(”保存);copyButton=new JButton(复制”); clearButton=new JButto
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 常用变压器简介教学设计中职专业课-电机与电气控制技术-智能设备运行与维护-装备制造大类
- 盘锦市中储粮2025秋招笔试行测高频题库及答案
- 中国广电伊春市2025秋招笔试行测题库及答案综合管理类
- 第22课 世界多极化与经济全球化说课稿高中历史必修 中外历史纲要(下)统编版(部编版)
- 4 繁星(教学设计)-四年级上册语文统编版
- 海南大学植物学课件资源
- 教学设计语文
- 3.1岩石与土壤的故事 教学设计-科学四年级下册教科版
- 《暑假安全教育要点提醒》主题班会 说课稿
- 委托司法鉴定申请书
- 精神分裂症并发糖尿病患者护理查房
- 当幸福来敲门全剧中英文台词
- (正式版)JBT 9229-2024 剪叉式升降工作平台
- 曲臂车操作规程含曲臂式高空作业车专项施工方案报审表
- DBJ-T 13-210-2023 福建省房屋市政工程基桩检测试验文件管理标准
- Unit+2+短语背诵版 高中英语北师大版(2019)必修第一册
- 质量月报范本
- FZ/T 52051-2018低熔点聚酯(LMPET)/聚酯(PET)复合短纤维
- 【精品】2020年职业病诊断医师资格培训考试题
- 派车单(标准样本)
- 广东省建筑施工安全管理资料统一用表2021年版(原文格式版)
评论
0/150
提交评论