目录
一绪论............................................................................................4二
设计思路....................................................................................42.1
工作原理图..............................................................................42.2功能规划...................................................................................5三具体实现....................................................................................53.1类设计与功能实现.....................................................................53.2界面...........................................................................................5四运行调试与分析讨论...............................................................94.1运行屏幕截图与分析...............................................................94.2改进想法.................................................................................12五设计体会与小结.....................................................................12六参考文献....................................................................................12七附录..........................................................................................13
第1页
题目内容及要求:一.题目内容及要求:
我选择的是“复杂计算器的设计”,其目的主要是因为Windows里有计算器,可以参照那个模板,并且对界面很熟悉,做起来更得心应手。其次,我对链接数据库还不太熟练,计算器可以由代码直接生成,更符合我的知识水平。设计一个图形界面(GUI)的复杂计算器应用
程序,其组件包括0~9,+、-、*、/、C=按钮,显示屏文本行和菜单。其功能完成简单的加法、减法、乘法、除法算术运算,具有进制转换功能,能关闭窗口,点击按钮或键盘数字会在现实屏上输出结果。在计算器的界面上小数点、正负号、求倒数、退格和清零按钮要实现其功能练习使用布局管理器设计一个计算器的界面,并练习使用事件监听器处理数据的输入,并完成相关的计算。在我的计算器上实现了以上要求的基本功能,其界面参照
系统的计算器。选中菜单项“查看”中的“标准型”菜单子项,可以实现其加减乘除基本运算,选中“科学型“可以实现进制之间的转换。在菜单项条中也设置了“编辑”“帮助”等菜单项,点击相关按钮,可实现相关其功能。
二.设计思路
2.1工作原理图:
第2页
2.2功能规划:在本程序中主要有四个类,分别是Jisuanqi,Computepad,NumberButton,OperationButton,其主类是Jisuanqi。主类Jisuanqi主要实现二,八,十,十六之间进制转换,但不能实现加减乘除基本运算。Computepad类,在此类中主要实现“查看”中的“标准型”,即实现十进制的加OperationButton类,简化程序。减乘除基本运算。在此类中记入NumberButton,在菜单条中设置了“编辑”“查看”,“帮助”等菜单项,“编辑”中可实现“复制”“粘帖”功能,在“查看”中可以选择“科学型”“标准型”在“帮助”中实现“关于计算器”“作者主页”点击相关按钮可实现相关其功能。
三.具体实现
3.1类设计及功能实现:(1)主类Jisuanqi,即是“查看”中的科学性,主要实现二,八,十,十六之间进制转换,但不能实现加减乘除基本运算。引入的包有:packagemy;importjavax.swing.*;importjavax.swing.event.*;importjava.awt.*;importjava.awt.event.*;3.2界面如下:
图3.1
界面设计思路:创建容器cp,创建3个面板cp1,cp2,cp3并加入到cp中,三个面板按照边缘布局,cp.add(cp1,"North");cp.add(cp2,"Center");cp.add(cp3,"South");在cp1中放置文本框,在cp2中放置进制和C,CE,Backspace按钮,剩余的放置在cp3中。功能设计思路:先获取点击或者输入的数字,再将其转换成十进制。代码如下:intjin=10;Stringhex=text.getText();intinthex=Integer.parseInt(hex,jin);//先把数变为10进制text.setText(convert.decHex(inthex));再将十进制转换成相应进制。代码如下:例