Java课程设计——保存过程的计算器.doc
《Java课程设计——保存过程的计算器.doc》由会员分享,可在线阅读,更多相关《Java课程设计——保存过程的计算器.doc(33页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-作者xxxx-日期xxxxJava课程设计保存过程的计算器【精品文档】Java课程设计报告保存计算过程的计算器的设计专业计算科学与技术(网络技术)学生姓名班级学号1指导教师完成日期【精品文档】目 录1 设计要求12 总体设计12.1 CalculatorWindow类设计22.2 NumberButton类设计22.3 OperationButton类设计22.4 HandleDigit类设计22.5 HandleOperation类设计22.6 HandleDot类设计32.7 HandleEquality类设计32.8 HandleSin类设计32.9 HandleBack类设计32.1
2、0 HandleClear类设计32.11 HandlePOrN类设计33详细设计3类3类93.3 OperationButton类103.4 HandleDigit类113.5 HandleOperation类133.6 HandleDot类163.7 HandlePOrN类183.8 HandleEquality类193.9 HandleSin类223.10 HandleBack类243.11 HandleClear类264代码调试问题285软件发布286 程序运行效果287 设计心得30保存过程的计算器的设计1 设计要求Windows 2000/XP系统中的“计算器”是一个方便实用的计算
3、机工具,但是没有提供显示计算过程的功能。本计算器所遵循的计算规则与Windows 2000/XP系统中的“计算器”相同,出了具有普通的计算功能外,还具有现实计算过程,保存计算过程的功能。(1)单击“计算器”上的数字按钮(0、1、2、3、4、5、6、7、8、9)可以设置参与计算的运算数。(2)单击“计算器”上的运算符按钮(+、-、*、/)可以选择运算符号。(3)单击“计算器”上的函数按钮可以显示相应的函数值。(4)单击“计算器”上的“=”按钮显示计算结果。(5)在一个文本框中显示当前的计算过程,在一个文本区中显示以往的计算过程和发生计算时的系统时间。(6)单击“保存”按钮可以将文本区中的全部计算
4、过程保存到文件;单击“复制”按钮可以将文本区中选中的文本复制到剪贴板;单击“清除”按钮可以清楚文本区中的全部内容。2 总体设计在设计计算器时,可以编写11个Java源文件:CalculatorWindow.java、NumberButton.java、OperationButton.java、HandleDigit.java、HandleOperation.java、HandleDot.java、HandleEquality.java、HandleSin.java、HandleBack.java、HandleClear.java、HandlePOrN.java。计算器除了上述的11个Java源
5、文件给出的类外,还需要Java提供的一些重要的类,入JButton、JTextField、JTextArea和LinkedList等。CalculatorWindowLinkedListJTexrAreaNumberButtonOperationButtonHandleDigitHandleOperationHandleDotJButtonJTextFieldHandleDotHandlePOrNHandleEqualityHandleSinHandleBackHandleBack图2.1 类之间的组合关系 CalculatorWindow类设计CalculatorWindow类负责创建计算器
6、的主窗口,该类含有Main方法,计算器从该类开始执行。CalculatorWindow有十四种类型的对象,分别是LinkedList、NumberButton、OperationButton、JButton、JTextField、JTextArea、HandleDigit、HandleOperation、HandleDot、HandleEquality、HandleSin、HandleBack、HandleClear、HandlePOrN对象。CalcuatorWindow类创建的窗口以及其中的主要成员如图2.2所示。CalculatorWindow类的主要成员的作用将在后面的详细设计中阐述。
7、图2.2 CalculatorWindow窗口及主要的对象成员2.2 NumberButton类设计NumberButton类创建的对象是主类CalculatorWindow窗口中的一个“数字”按钮。NumberButton类有一个int类型的成员number,标明所创建的按钮所含有的数字。NumberButton所创建的10个按钮被添加到CalcuatorWindow窗口中。2.3 OperationButton类设计OperationButton类创建的对象是主类CalculatorWindow窗口中的一个“运算符”按钮。OperationButton类有一个String类型的成员oper
8、ateSign,用于标明所创建的按钮所含有的运算符号。OperationButton所创建的4个按钮被添加到CalculatorWindow窗口中。2.4 HandleDigit类设计 HandleDigit类创建的对象负责处理ActionEvent事件。当用户单击“数字”按钮时,HandleDigit类所创建的对象负责处理和数字有关的计算过程。2.5 HandleOperation类设计HandleOperation类创建的对象负责处理ActionEvent事件,当用户单击“运算符”按钮时,HandleOperation类所创建的对象负责处理和运算符有关的计算过程。2.6 HandleDot
9、类设计HandleDot类创建的对象负责处理ActionEvent事件,当用户单击“.”按钮(小数点)时,HandleDot类所创建的对象负责处理小数点。2.7 HandleEquality类设计HandleEquality类创建的对象负责处理ActionEvent事件。当用户单击“=”按钮时,HandleEquality类所创建的对象计算有关数据。2.8 HandleSin类设计HandleSin类创建的对象负责处理ActionEvent事件。当用户单击“sin”按钮(正弦三角函数)时,HandleSin类所创建的对象负责处理正弦三角函数的值。2.9 HandleBack类设计HandleB
10、ack类创建的对象负责处理ActionEvent事件。当用户单击“退格”按钮时,HandleBack类所创建的对象负责计算正弦三晋函数的值。 HandleClear类设计HandleClear所创建的对象负责处理ActionEvent事件。当用户成功单击C按钮(清零)时,HandleClear类所创建的对象负责清除有关的计算结果。2.11 HandlePOrN类设计HandlePOrN类创建的对象负责处理ActionEvent事件。当用户单击“+/-”(正负)按钮时,HandlePOrN类所创建的对象负责处理数字的正负转换。3详细设计CalculatorWindow类1、效果图Calculat
11、orWindow创建的窗口效果如图3.1所示。图3.1 CalculatorWindow创建的窗口2、UML图rame的一个子类,并实现了ActionListener接口。标明该类的主要成员变量和方法的UML图如图3.2所示。JFrameActionListenerCalculatorWindownumberButton:NumberButton;operationButton:OperationButton;Flex, zhengfu, Backspace, Equals, Zero, sin:JButtonresultShow,showComputerProcess:JTextFields
12、aveComputerProcess:JTextArealist:LinkedListhandleDigit:HandleDigithandleOperation:HandleOperationhandleBack:HandleBackhandleClear:HandleClearhandleEquality:HandleEqualityhandleDot:HandleDothandlePOrN:HandlePOrNhandleSin:HandleSinactionPerformed(ActionEvent):voidCalculatorWindow():无类型main(String):voi
13、d图3.2 CalculatorWindow类的UML图3、类设计模块名称CalculatorWindow功能描述负责创建计算器的主窗口接口与属性Void actionPerformed()Function:对saveButton,copyButton,clearButton三个按钮的ActionEvent事件监听InPut: 无OutPut: 无Return:空CalculatorWindow()Function:是构造方法,负责完成窗口的初始化InPut: 无OutPut:无Return:空Static void Main()Functon:是计算器程序运行的入口方法InPut:无OutP
14、ut:无Return:空数据结构与算法Linkedlist(String)list补充说明无4、代码(CalculatorWindow.java)import java.awt.*;import java.awt.event.*;import javax.swing.*;g.border.*;import java.util.LinkedList;import java.io.*;public class CalculatorWindow extends JFrame implements ActionListener NumberButton numberButton; OperationB
15、utton operationButton; JButton Flex, zhengfu, Backspace, Equals, Zero, sin; JTextField resultShow; /显示计算结果 JTextField showComputerProcess; /显示当前计算过程 JTextArea saveComputerProcess; /显示计算步骤 JButton saveButton, copyButton, clearButton; LinkedList list; /链表用来存放第一个运算数、运算符号和第二个运算数 HandleDigit handleDigit;
16、 /负责处理ActionEvent事件 HandleOperation handleOperation; HandleBack handleBack; HandleClear handleClear; HandleEquality handleEquality; HandleDot handleDot; HandlePOrN handlePOrN; HandleSin handleSin; public CalculatorWindow() setTitle(计算器 计算机112班 程逸群); JPanel panelLeft, panelRight; list = new LinkedLis
17、t(); resultShow = new JTextField(10); resultShow.setHorizontalAlignment(JTextField.RIGHT); resultShow.setForeground(Color.blue); resultShow.setFont(new Font(TimesRoman, Font.BOLD, 16); resultShow.setBorder(new SoftBevelBorder(BevelBorder.LOWERED); resultShow.setEditable(false); resultShow.setBackgro
18、und(Color.white); showComputerProcess = new JTextField(); showComputerProcess.setHorizontalAlignment(JTextField.CENTER); showComputerProcess.setFont(new Font(Arial, Font.BOLD, 16); showComputerProcess.setBackground(Color.cyan); showComputerProcess.setEditable(false); saveComputerProcess = new JTextA
19、rea(); saveComputerProcess.setEditable(false); saveComputerProcess.setFont(new Font(宋体, Font.PLAIN, 16); numberButton = new NumberButton10; handleDigit = new HandleDigit(list, resultShow, showComputerProcess); for (int i = 0; i = 9; i+) numberButtoni = new NumberButton(i); numberButtoni.setFont(new
20、Font(Arial, Font.BOLD, 20); numberButtoni.addActionListener(handleDigit); operationButton = new OperationButton4; handleOperation = new HandleOperation(list, resultShow, showComputerProcess, saveComputerProcess); String yunsuan = +, -, *, /; for (int i = 0; i 4; i+) operationButtoni = new OperationB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 课程设计 保存 过程 计算器
限制150内