JAVA课程设计报告-心得体会——计算器、文本编辑器

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

JAVA课程设计第1页共24页用Java设计计算器calculator内容提要:在本文构造实现了一个计算器擦亮calculator,主要内容包括:calculator的功能需求分析;calculator的基本设计思路和类的划分;calculator的具体实现。关键字:Java、计算器calculator引言:设计实现一个Java应用程序的过程如下:(1)功能需求分析;(2)设计和类划分;(3)代码编写实现。本文就按照这个步骤来实现计算器calculator的制作。正文:1.calculator功能需求分析作为计算器,至少应该具备以下几点功能:(1)计算器要有GUI界面。(2)能运算小数,并且不会产生精度损失。(3)用户可以输入所需计算的数值,可以进行加、减、乘、除四种最基本的运算和混合运算。(4)允许正负数间的运算。(5)可以求一个数值的平方及倒数,可以进行阶乘运算。(6)有菜单栏选项。具体的功能需求和界面我们可以模仿微软公司出品的windowsXP中自带的计算器。如图一:图一windowsXP中的计算器界面图2.calculator基本设计思路和类划分基于第1节中提出对于calculator功能需求的分析,对这个应用程序设计划分类如下:(1)calculator:这个类的功能是实现一个框架(2)calculatorFrame:这个类作为主类,实现主要功能:运算,按钮排布,菜单,颜色设置,文本显示3.calculator的具体实现JAVA课程设计第2页共24页3.1calculator类的设计calculator用来定义一个计算器的框架1.主要方法下面以表格的形式列出calculator类至少应该具有的方法和功能描述(如表一所示)。表一calculator类的主要方法方法功能描述staticvoidmain(Stringargs[])calculator应用程序的入口,是主方法3.2calculatorFrame类的设计calculatorFrame类实现整体功能,包括窗体的初始化、各种用户事件监听和响应(菜单、运算、结果显示等等)。1.父类和主要接口设计calculator整体窗口特性继承自JFrame类。为了对用户命令做出响应(如帮助菜单栏弹出窗口),calculatorFrame类必须能够监听到用户的命令,因此设计calculatorFrame类实现ActionListener接口。2.主要方法下面以表格的形式列出calculatorFrame类至少应该具有的方法和功能描述(如表二所示)。表二calculatorFrame类的主要方法方法功能描述voidactionPerformed(ActionEvente)重载ActionListener接口中的方法,用于对用户命令进行响应,用户命令包括“帮助”“版权”“说明”以及各个按钮等3.基本效果图二为calculator的基本效果图。JAVA课程设计第3页共24页4.代码分析calculator.java代码如下://calculator.java/**文件名:calculator.java*说明:calculatorFrame主类,实现主要功能*/JAVA课程设计第4页共24页//导入AWT包importjava.awt.*;importjava.awt.event.*;//导入SWING包importjavax.swing.*;importjavax.swing.event.*;classcalculator{publicstaticvoidmain(String[]args){calculatorFrameframe=newcalculatorFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.show();}}//主类calculatorFrameclasscalculatorFrameextendsJFrameimplementsActionListener{publiccalculatorFrame(){//设置框架主题及大小setTitle(计算器);setSize(300,235);//将面板置于框架中ContainercontentPane=getContentPane();setResizable(false);//创建按钮面板JPanelbuttonPanel=newJPanel();//创建数字键“1”b11=newJButton(1);//设置颜色b11.setForeground(Color.BLUE);//创建事件监听器b11.addActionListener(this);b12=newJButton(2);b12.setForeground(Color.BLUE);b12.addActionListener(this);b13=newJButton(3);b13.setForeground(Color.BLUE);b13.addActionListener(this);JAVA课程设计第5页共24页b6=newJButton(4);b6.setForeground(Color.BLUE);b6.addActionListener(this);b7=newJButton(5);b7.setForeground(Color.BLUE);b7.addActionListener(this);b8=newJButton(6);b8.setForeground(Color.BLUE);b8.addActionListener(this);b1=newJButton(7);b1.setForeground(Color.BLUE);b1.addActionListener(this);b2=newJButton(8);b2.setForeground(Color.BLUE);b2.addActionListener(this);b3=newJButton(9);b3.setForeground(Color.BLUE);b3.addActionListener(this);b16=newJButton(0);b16.setForeground(Color.BLUE);b16.addActionListener(this);b17=newJButton(+/-);b17.setForeground(Color.BLUE);b17.addActionListener(this);b4=newJButton(+);b4.addActionListener(this);b9=newJButton(-);b9.addActionListener(this);b14=newJButton(*);b14.addActionListener(this);b19=newJButton(/);b19.addActionListener(this);b5=newJButton(1/x);b5.setForeground(Color.YELLOW);b5.addActionListener(this);b20=newJButton(=);b20.setForeground(Color.YELLOW);b20.addActionListener(this);//”.”显示不清晰,故采用“。”代替b18=newJButton(。);b18.setForeground(Color.BLUE);b18.addActionListener(this);b10=newJButton(x^2);JAVA课程设计第6页共24页b10.setForeground(Color.YELLOW);b10.addActionListener(this);b15=newJButton(n!);b15.setForeground(Color.YELLOW);b15.addActionListener(this);buttonPanel.add(b1);buttonPanel.add(b2);buttonPanel.add(b3);buttonPanel.add(b4);buttonPanel.add(b5);buttonPanel.add(b6);buttonPanel.add(b7);buttonPanel.add(b8);buttonPanel.add(b9);buttonPanel.add(b10);buttonPanel.add(b11);buttonPanel.add(b12);buttonPanel.add(b13);buttonPanel.add(b14);buttonPanel.add(b15);buttonPanel.add(b16);buttonPanel.add(b17);buttonPanel.add(b18);buttonPanel.add(b19);buttonPanel.add(b20);//对按钮面板1进行排版,四行五列buttonPanel.setLayout(newGridLayout(4,5));//建立容纳文本框的面板JPaneltextPanel=newJPanel();addText=newJTextField(0,20);addText.addActionListener(this);//文本框从右端开始显示addText.setHorizontalAlignment(JTextField.RIGHT);textPanel.add(addText);//创建按钮面板2JPanelbuttonPanel2=newJPanel();b21=newJButton(DEL);b21.addActionListener(this);b21.setForeground(Color.RED);b22=newJButton(CE);b22.addActionListener(this);b22.setForeground(Color.RED);b23=newJButton(C);b23.addActionListener(this);JAVA课程设计第7页共24页b23.setForeground(Color.RED);buttonPanel2.add(b21);buttonPanel2.add(b22);buttonPanel2.add(b23);buttonPanel2.setLayout(newGridLayout(1,5));//创建菜单栏,并将菜单栏加入到框架中JMenuBarmenuBar=newJMenuBar();setJMenuBar(menuBar);//创建“帮助(H)”菜单JMenuhelpMenu=newJMenu(帮助(H));helpMenu.setForeground(Color.BLUE);//设置菜单的快捷键helpMenu.setMnemonic('H');menuBar.add(helpMenu);JMenuItemcopyrightItem=newJMenuItem(版权,'b');copyrightItem.addActionListener(this);JMenuItemexplainItem=newJMenuItem(说明,'a');explainItem.addActionListener(this);//将菜单项添加到“帮助”菜单中helpMenu.add(copyrightItem);helpMenu.add(explainItem);//设置面板布局contentPane.add(buttonPanel,BorderLayout.SOUTH);contentPane.add(buttonPanel2,BorderLayout.CENTER);contentPane.add(textPanel,BorderLayout.NORTH);}//设置用户点击菜单项和按钮时的响应动作publicvoidactionPerformed(Ac

1 / 24
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功