计算机2011级 程序语言综合课程设计
体的上部,显示按钮的值。窗体的西部放置了计算器的功能按钮,将数字键安置在窗体的中间,而东部则是放置了显示运算过程面板和功能按钮。,并设置
saveButton=new JButton(\保存\);
copyButton=new JButton(\复制\);
clearButton=new JButton(\清除\);三个按钮。 主界面:
2、帮助文档树的设计:
(1)、采用JFrame类设计图形用户界面,框架左边使用一个自定义组件MutableJTree以树结果显示帮助文档;MutableJTree组件响应选择事件,当选择树中一个接点时,将该节点的所有孩子节点的对象值显示在右边的Jlist组件中。
(2)、各个节点为DefaultMutableTreeNode默认可变树节点类。
3
计算机2011级 程序语言综合课程设计
帮助信息帮助简介说明菜单查看退出
图1.2 树的结构
4.2 类成员变量及方法设计
计算器主类声明主要是声明各个组件。 菜单项包括帮助主题和关于计算器。
功能键定义区设置好sin,cos,tan,exp等按键的布局。 数字键定义区设置好数字键的布局。
计算方法区主要是定义按钮操作事件,实现计算功能。
1、首先声明一个主类CalculatorWindow,在主类中定义各个组件包括:功能键定义区设置好sin、cos、tan、exp等按键的布局、数字键定义区设置好数字键的布局、计算方法区主要是定义按钮操作事件,实现计算功能、菜单项包括
4
计算机2011级 程序语言综合课程设计
帮助和查看。
2、主类中通过调用HandleSin、HandleCos、HandleDigit、HandleExp等方法实现Sin、cos、数字键、exp等功能。
3、各个类名:
HandleDigit handleDigit; //负责处理ActionEvent事件
HandleOperation handleOperation ; 实现加、减、乘、除运算
HandleBack handleBack; 实现退格事件
HandleClear handleClear; 实现清零事件
HandleEquality handleEquality; 实现等号事件
HandleDot handleDot; 实现小数点事件
HandlePOrN handlePOrN; 实现正负号事件
HandleSin handleSin; 实现sin按钮事件
HandleCon handleCos; 实现cos按钮事件
HandleTan handleTan; 实现Tan按钮事件
HandleLog handleLog 实现log按钮事件 ;
HandleExp handleExp; 实现exp操作
HandleOff handleOff; 关闭
5
计算机2011级 程序语言综合课程设计
系统流程图
开始 按钮键 Sin、cos、tan、exp、log运算 加减乘除运算 清零、退格、菜单操作 显示运算过程和结果 结束 图1.3系统流程图
6
计算机2011级 程序语言综合课程设计
4.3 源代码分析
1、主要功能实现涉及的类及方法: import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.border.*; import java.util.LinkedList; import java.io.*; import java.lang.Object;
public class CalculatorWindow extends JFrame implements ActionListener{ NumberButton numberButton[]; OperationButton operationButton[];
JButton 小数点操作,正负号操作,退格操作,等号操作,清零操作,sin,cos,tan,log,exp,off; JMenuBar bar; JMenu help,view;
JMenuItem about,exit,information;
JTextField resultShow; //显示计算结果 JTextField showComputerProcess; //显示当前计算过程 JTextArea saveComputerProcess; //显示计算步骤 JButton saveButton,copyButton,clearButton;
LinkedList
HandleDigit handleDigit; //负责处理ActionEvent事件 HandleOperation handleOperation ; HandleBack handleBack; HandleClear handleClear; HandleEquality handleEquality; HandleDot handleDot; HandlePOrN handlePOrN; HandleSin handleSin; HandleCos handleCos; HandleTan handleTan; HandleLog handleLog;
7