java计算器报告

合集下载

java简易计算器实训报告(一)

java简易计算器实训报告(一)

java简易计算器实训报告(一)Java简易计算器实训报告实训目的通过编写一个简易的Java计算器,深入了解Java基础语法,并掌握对象的属性和行为。

实训过程本次实训采用Eclipse编写Java程序,具体过程如下:1.首先创建一个名为“Calaulator”的Java项目,再在其中创建一个名为“Calaulator”的类。

2.在Calaulator类中定义一个名为“calculate”的方法,此方法接收3个参数:一个char类型的操作符,两个double类型的操作数,返回值为double类型。

3.在方法体中根据传入的操作符进行相应的加、减、乘、除运算。

4.创建一个主函数,在其中调用calculate方法并输出结果。

实训收获通过本次实训,我掌握了Java的基础语法,并深入了解了对象的属性和行为。

同时,我还学会了如何使用Eclipse编写Java程序,提高了自己的编程水平。

实训总结Java语言作为一种强大而稳定的编程语言,具有广泛的应用场景。

通过本次实训,我深刻认识到Java的重要性,并希望能够在以后的学习中不断探索Java语言的更多使用方法。

实训反思在实训过程中,我发现自己对Java的基础语法了解不够深入,导致编写代码时遇到一些困难,需要不断查阅相关资料。

同时,在调试代码时也遇到了许多问题,发现自己对IDE的使用不够熟练,需要更多的实践和学习。

实训展望通过本次实训,我已经初步掌握了Java的基础语法和编程思想,但我认为这只是一个开始。

我需要不断地练习,深入了解Java的各种特性,将其应用到实际开发中。

未来,我希望能够成为一名优秀的Java工程师,为社会做出自己的贡献。

结语本次Java简易计算器实训让我收获颇丰,不仅加深了对Java的认识,也增强了自己的编程实践能力。

希望今后能够在Java的学习和实践中不断提高自己,取得更好的成果。

java计算器实验报告

java计算器实验报告

Java计算器实验报告计算机032胡勇健030952182005年5月5日目录1.设计名称与要求2.各模块功能的介绍和实现3.系统的特色和不足4.参考书一. 实验名称及其要求:A)名称: java计算器的设计B)要求:1.实验目的:图形界面设计。

熟悉java.awt包中的组件,掌握图形界面设计方法,理解委托事件处理模型。

2.题意:请设计并实现Windows系统中“计算器”的窗口及功能。

3.实验要求:(1)设计图形界面添加菜单:窗口上添加各种组件及菜单,并处理组件及菜单的事件监听程序。

(2)运算:实现多种运算,保证运算正确性。

二.各模块功能的介绍和实现:A)GUI图形界面的组件:a)所用到的Java类库包:java.awt.*; 基本的图形界面组件来源于awt包。

java.awt.event.*; 事件的属性处理来源于awt.event包。

javax.swing.*; swing组件增加了awt包中所不具备的各种优越功能。

java.awt.datatransfer.*; 用于计算器与外部的程序进行复制粘贴。

b)所用的各部分图形组件的定义:Frame mainFrame; //主框架JTextField answerText; //显示计算结果JTextField memoryState; //显示计算器内存的使用情况MenuBar menuGroup; //菜单栏Menu editMenu,viewMenu,helpMenu; //编辑,查看,帮助菜单MenuItem copyItem,pasteItem; //复制,粘贴MenuItem standardModel; //标准型CheckboxMenuItem numGroup; //数字分组MenuItem aboutCal; //关于计算器Button buttonBackSpace,buttonCE,buttonC; //退格,清除,清空按钮Button buttonMC,buttonMR,buttonMS,buttonMADD; //内存操作按钮Button buttonNum[]; //数字按钮Button buttonAdd,buttonSub,buttonMul,buttonDiv; //+,-,*,/Button buttonDot,buttonSign,buttonEqual; //. +/- =Button buttonSqrt,buttonMod,buttonReciprocal; //sqrt % 1/xc)组件的初始化以及对界面的排版对主框架的初始化操作void initMainFrame()函数是对主框架进行初始化,设置其框架大小270*250,初始位置270*250,背景颜色Color.lightGray,是否显示true,能否改变窗口大小false,以及增加了addWindowListener委托事件,当关闭窗口时调用System.exit(0) 系统指令,结束程序。

java 计算器实验报告

java 计算器实验报告

java 计算器实验报告Java计算器实验报告一、引言计算器是我们日常生活和学习中经常使用的工具之一。

它可以帮助我们进行简单的数学运算,提高计算效率。

在本实验中,我们将使用Java编程语言设计并实现一个简单的计算器。

二、实验目的1. 学习Java编程语言的基本语法和数据类型;2. 掌握Java图形用户界面(GUI)的设计和实现;3. 熟悉计算器的基本功能和运算规则。

三、实验步骤1. 界面设计在Java中,我们可以使用Swing库来设计和实现GUI界面。

首先,我们创建一个窗口对象,并设置窗口的标题、大小和布局。

然后,我们在窗口中添加文本框和按钮,用于显示计算结果和接收用户输入。

2. 功能实现计算器的基本功能包括加法、减法、乘法和除法运算。

我们可以通过监听按钮点击事件,获取用户输入的数字和操作符,然后进行相应的运算,并将结果显示在文本框中。

3. 异常处理在进行计算过程中,可能会出现一些异常情况,例如除数为零或输入非法字符等。

为了保证程序的健壮性,我们需要对这些异常进行处理,并给出相应的提示信息。

4. 测试和优化完成代码编写后,我们需要进行测试和优化。

通过输入一系列测试用例,检查计算器是否能够正确处理各种情况,并对可能存在的bug进行修复和优化。

四、实验结果经过多次测试和优化,我们的计算器程序已经能够正确地进行加减乘除运算,并能够处理各种异常情况。

用户友好的界面设计和清晰的提示信息,使得计算器易于使用和操作。

五、实验总结通过本次实验,我学习了Java编程语言的基本语法和数据类型,并且掌握了Java图形用户界面(GUI)的设计和实现方法。

通过实践,我深入理解了计算器的基本功能和运算规则,并学会了如何处理异常情况。

此外,我还培养了代码编写、测试和优化的能力,提高了自己的编程水平。

六、实验感想本次实验让我更加熟悉了Java编程语言,并且提高了我的代码设计和编程能力。

通过自己动手实现一个计算器,我对计算机科学的理论知识有了更深入的理解,并且增强了我的实践能力。

java计算器设计实验报告

java计算器设计实验报告

java计算器设计实验报告《Java计算器设计实验报告》摘要:本实验报告基于Java语言,设计了一个简单的计算器。

通过使用面向对象的编程方法,实现了基本的加、减、乘、除运算,并且实现了用户界面的交互操作。

本实验报告详细介绍了计算器的设计思路、实现过程和代码结构,并对实验结果进行了分析和总结。

1. 引言计算器是人们日常生活中常用的工具之一,它能够帮助人们进行简单的数学运算。

随着计算器的普及和发展,计算器的功能也越来越丰富,例如科学计算器、金融计算器等。

本实验旨在通过使用Java语言,设计一个简单的计算器,以加深对面向对象编程的理解和应用。

2. 设计思路在设计计算器时,首先需要确定计算器的功能需求,包括加法、减法、乘法、除法等基本运算。

其次,需要考虑用户界面的设计,使用户能够方便地输入数字和选择运算符。

最后,需要考虑计算器的实现方式,包括数据结构的选择、算法的设计等。

3. 实现过程在本实验中,我们使用Java语言和Swing库来实现计算器的设计。

首先,我们创建一个Calculator类来处理计算器的逻辑操作,包括加法、减法、乘法、除法等运算。

然后,我们创建一个CalculatorUI类来处理用户界面的设计,包括数字按钮、运算符按钮和显示屏的设计。

最后,我们将Calculator类和CalculatorUI类进行整合,实现一个完整的计算器。

4. 代码结构以下是计算器的主要代码结构:Calculator类:- add(double a, double b):加法运算- subtract(double a, double b):减法运算- multiply(double a, double b):乘法运算- divide(double a, double b):除法运算CalculatorUI类:- createNumberButton(int number):创建数字按钮- createOperatorButton(String operator):创建运算符按钮- createDisplayScreen():创建显示屏Main类:- main(String[] args):主函数,启动计算器界面5. 实验结果分析通过实验,我们成功地实现了一个简单的计算器,用户能够输入数字并进行加、减、乘、除等运算。

java计算器实验报告

java计算器实验报告

课程设计论文设计题目:java计算器学生姓名:指导教师:专业名称:所在院系:摘要在当今这个网络的时代,java语言在网络编程方面的优势使得网络编程有了更好的选择。

Java语言最大的特点是具有跨平台性,使其不受平台不同的影响,得到了广泛的应用。

该程序是一个图形界面的java 计算器,其界面主要采用了swing包,程序实现了:(1)实现简单加、减、乘、除的运算。

(2)实现除了加、减、乘、除按钮外其他按钮功能。

(3)给软件添加一个编辑、查看、帮助的主菜单。

(4)在数据输入方面,提高程序代码的健壮性,增强其对非法输入数据的识别能力。

(5)科学型计算器与标准计算器之间的菜单切换。

Java的早期版本以来,抽象窗口工具包为用户界面组件提供了平台独立的API。

在AWT中,每个组件都由一个原生的等同组件生成和控制,这个原生组件是由当前的图形窗口系统决定的。

与此相对,Swing 组件经常被描述为轻量级的,因为它们不需要操作系统本身所带窗口工具包的原生资源来生成。

目录第1章概要设计 (1)1.1查找资料 (1)1.2选题 (1)1.3标准型计算器界面设计 (1)1.4本章小节 (3)第2章程序整体设计说明 (4)2.1程序中所用到的变量 (4)2.2程序部分源代码及注释 (4)2.3本章小节 (15)第3章程序运行效果 (16)3.1程序运行主界面 (16)3.2程序中各按钮运行界面 (16)3.3本章小节 (20)第4章设计中遇到的重点及难点 (21)4.1设计中遇到的重点 (21)4.2设计中的遇到的难点 (21)4.3本章小节 (23)第5章本次设计中存在不足与改良方案 (24)5.1本次设计中存在的不足 (24)5.2本次设计的改良方案 (24)5.3本章小节 (24)结论 (25)参考文献 (26)致谢 (27)指导教师评语 (28)答辩委员会评语 (29)第1章概要设计1.1查找资料21世纪,随着社会经济的迅速发展和科学技术的全面进步,人类社会已进入信息和网络时代。

实验报告Java计算器

实验报告Java计算器

一、实验目的1.熟悉java图形用户界面的设计原理和程序结构。

2.能设计复合问题要求的图形用户界面程序。

3.熟悉java.awt和swing的组合。

4.掌握常用组件的事件接口。

5.会应用awt和swing组件进行应用程序设计。

二、实验内容设计一个计算器,计算器的界面大体是按照windowsXP上自带的微软的计算器的布局设计的。

主要功能包括:实现基本的加减乘除运算,并且能实现连续的运算,能显示运算数和运算结果。

还包括MC、MR 、MS、M+ 、Backspe、+/-、 C、CE、 % 、Sqrt 、1/x 键,能实现相应的功能。

三、整体设计与描述1.点击相应的按钮,输入运算数,显示框内能显示当前输入的数字2、在任何时候按下“+/-”键,计算器文本框上的数字置反号。

3、MC :Memory Clear 清除存储器中的数值4、MR :Memory Read 存储器读出5、MS :Memory Save 存入存储器6、M+ :Memory Plus 将数值与存储器中的数值相加7、M- :Memory Subtract 存储的数字减去显示栏中的数字8、C键为清除键(CLEAR的缩写)9、CE键为纠错键(CLEAR ERROR的缩写)10、Backspase 键为退格键,消去最低位。

11、sqrt是开方键,点击后显示开方后的结果。

12、按下a(运算)b后,不按等于,再按别的运算符,a和b的运算结果会作为第一个操作数再次参与运算。

13、按下“选项”键,点“退出”键退出14、点击帮助的“关于我们”,会弹出一个对话框,显示信息。

整体显示界面如下:四、算法分析与程序设计1、控件的布局界面布局分为三个面板panel1,panel2,panel3.第一个面板上存放数字输入框。

第二个存放存储器标志、回车键、CE、C键四个按钮。

第三个面板存放各个数字和剩下的运算符,布局为4*6的GridLabel。

为了使界面更美观,需要设置适当的行间距和列间距,以及适当的背景色。

java计算器实验报告

java计算器实验报告

j a v a计算器实验报告 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】课程设计论文设计题目:java计算器学生姓名:指导教师:专业名称:所在院系:在当今这个网络的时代,java语言在网络编程方面的优势使得网络编程有了更好的选择。

Java语言最大的特点是具有跨平台性,使其不受平台不同的影响,得到了广泛的应用。

该程序是一个图形界面的java计算器,其界面主要采用了swing包,程序实现了:(1)实现简单加、减、乘、除的运算。

(2)实现除了加、减、乘、除按钮外其他按钮功能。

(3)给软件添加一个编辑、查看、帮助的主菜单。

(4)在数据输入方面,提高程序代码的健壮性,增强其对非法输入数据的识别能力。

(5)科学型计算器与标准计算器之间的菜单切换。

Java的早期版本以来,抽象窗口工具包为用户界面组件提供了平台独立的API。

在AWT中,每个组件都由一个原生的等同组件生成和控制,这个原生组件是由当前的图形窗口系统决定的。

与此相对,Swing组件经常被描述为轻量级的,因为它们不需要操作系统本身所带窗口工具包的原生资源来生成。

第1章概要设计 (1)查找资料 (1)选题 (1)标准型计算器界面设计 (1)本章小节 (3)第2章程序整体设计说明 (4)程序中所用到的变量 (4)程序部分源代码及注释 (4)本章小节 (15)第3章程序运行效果 (16)程序运行主界面 (16)程序中各按钮运行界面 (16)本章小节 (20)第4章设计中遇到的重点及难点 (21)设计中遇到的重点 (21)设计中的遇到的难点 (21)本章小节 (23)第5章本次设计中存在不足与改良方案 (24)本次设计中存在的不足 (24)本次设计的改良方案 (24)本章小节 (24)结论 (25)参考文献 (26)致谢 (27)指导教师评语 (28)答辩委员会评语 (29)第1章概要设计查找资料21世纪,随着社会经济的迅速发展和科学技术的全面进步,人类社会已进入信息和网络时代。

java实验报告计算器

java实验报告计算器

java实验报告计算器Java实验报告:计算器引言:计算器是我们日常生活中常用的工具之一,它能够帮助我们进行各种数学运算,提高计算的效率。

本实验旨在使用Java编程语言设计和实现一个简单的计算器,通过实践来加深对Java语言和面向对象编程的理解。

一、需求分析在设计计算器之前,我们首先需要明确计算器的功能需求。

一个基本的计算器应该包括加、减、乘、除四种基本运算,同时还应该具备清零、取反、百分比等附加功能。

在本实验中,我们将实现这些基本功能,并尝试添加一些额外的功能,如开根号、求平方等。

二、设计思路1. 用户界面设计我们可以使用Java的图形用户界面(GUI)库来设计计算器的界面。

可以使用按钮来表示数字和运算符,使用文本框来显示计算结果。

2. 数据结构设计为了实现计算器的功能,我们需要设计一个合适的数据结构来存储用户输入的数字和运算符。

可以使用栈(Stack)数据结构来实现这个功能。

当用户按下数字按钮时,将数字入栈;当用户按下运算符按钮时,将运算符入栈。

当用户按下等号按钮时,从栈中取出数字和运算符进行计算,并将结果显示在文本框中。

3. 运算逻辑设计计算器的运算逻辑可以使用逆波兰表达式来实现。

逆波兰表达式是一种不需要括号的数学表达式表示方法,通过后缀表达式的形式来表示运算符的优先级。

在计算器中,我们可以使用栈来实现逆波兰表达式的计算。

三、实验步骤1. 创建一个Java项目,并导入GUI库。

2. 设计计算器的用户界面,包括按钮和文本框。

3. 实现按钮的点击事件,根据用户输入的数字和运算符来更新栈的状态。

4. 实现等号按钮的点击事件,从栈中取出数字和运算符进行计算,并将结果显示在文本框中。

5. 实现清零、取反、百分比等附加功能的按钮点击事件。

6. 运行程序,测试计算器的各项功能是否正常。

四、实验结果与分析经过测试,我们的计算器能够正常地进行加、减、乘、除等基本运算,并且附加功能也能正常使用。

通过这个实验,我们不仅学习了Java语言的基本语法和面向对象编程的思想,还加深了对数据结构和逆波兰表达式的理解。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

衡阳师范学院网络编程(Java)课程设计报告题目模拟计算器_ 学生姓名文润___________ 学号14190233 _______ 专业班级计算机科学与技术2班指导教师焦铬完成时间2016年12月目录第一章课程设计简介 (1)1.1 课程设计目的 (1)1.2 课程设计内容及要求 (1)第二章概要设计 (2)2.1 课程设计思路 (2)2.2 系统功能模块图 (2)第三章详细设计 (3)3.1 界面设计 (3)3.2 按键监听器 (3)3.3 计算模块 (4)3.4 显示当前时间 (5)3.5 输出按键声音 (7)第四章运行环境 (8)第五章界面展示及测试 (9)5.1 界面展示 (9)5.2测试 (9)第六章课程设计心得 (9)第七章参考文献 (10)第八章附录:源程序 (12)第一章课程设计简介1.1 课程设计目的计算机的发展突飞猛进,人们使用计算机的目的各不相同,但是我们很容易发现,关于计算的问题生活中随处可见,于是计算器也成为了我们学习和生活中必不可少的有力工具。

为了减轻人们日益繁琐的工作压力和负担,实现高效统计和运算,使用计算器上势在必行,可以大大减轻会计以及财务部门统计账目的压力。

于是计算器应运而生。

1.2 课程设计内容及要求设计实现一个模拟计算器,界面参见图2-1-1,能进行整数的加、减、乘、除等四则运算。

图2-1-1第二章 概要设计2.1 课程设计思路此次课程设计实践,利用java 面向对象程序设计和SWT 技术针对该程序显示GUI 用户界面,能实现四则运算,并用图形界面实现。

够培养我们严谨务实的工作态度以及提高我们分析问题和解决问题的能力,也对于巩固和加深对面向对象程序设计的基本概念、基本理论和实现技术的理解起到了一定的意义。

2.2 系统功能模块图第三章详细设计3.1 界面设计本程序运用SWT插件进行图形界面设计,如图3-1-1所示,上方为数据的显示框,中间为按键区,下方为时间显示区。

图3-1-13.2 按键监听器程序中为每个按键添加了一个监听器,用来监听按键的响应,以便输入数据进行计算。

例如为“1”按键添加监听器button_6.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {}});后面的按键与此类似。

3.3 计算模块程序中,将第一个数存入变量num1中,输入运算符之后,将第二个数存入变量num2中,然后进行计算并将结果存入变量result 中,然后输出在text中。

具体运算代码如下:double result ;num2 =Double.parseDouble ( text.getText() );switch ( op) {case op_ADD:result = num1+num2;text.setText( result +"")if (text.getText().endsWith("0"))text.setText(text.getText().substring(0,text.getText().length()-2));break;case op_SUB:result = num1 - num2;text.setText( result +"");if (text.getText().endsWith("0"))text.setText(text.getText().substring(0,text.getText().length()-2));break;case op_MUL:result = num1 * num2;text.setText( result +"");if (text.getText().endsWith("0"))text.setText(text.getText().substring(0,text.getText().length()-2));break;case op_DIV:result = num1 / num2;text.setText( result +"");if (text.getText().endsWith("0"))text.setText(text.getText().substring(0,text.getText().length()-2));break;default:break;}3.4 显示当前时间使用Date类导入时间,时间精确到毫秒,使用DateFormat 可帮助进行格式化并解析任何语言环境的日期。

并使用SimpleDateFormat进行时间格式转换,把时间格式转换为“年月日时:分:秒”的格式;Date d=new Date();DateFormat df=new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");为了能实现时间的动态显示,引入线程,利用死循环和线程,让线程在循环中每sleep1秒,重新获取下系统时间从而实现动态显示时间。

Thread t=new Thread(){public void run(){while(true){try{Thread.sleep(1000);}catch (InterruptedException e){e.printStackTrace();}final Date d=new Date();final DateFormat df=new SimpleDateFormat("yyyy 年MM 月dd 日HH:mm:ss");Display.getDefault().asyncExec(new Runnable(){public void run(){text_1.setText(df.format(d));}});}}};t.setDaemon(true);t.start();3.5 输出按键声音使用File类将给定路径名字符串转换为抽象路径名来创建一个新File 实例。

使用AudioInputStream类从外部音频文件、流或URL 获得音频输入流。

使用AudioSystem 类充当取样音频系统资源的入口点。

Clip 接口表示特殊种类的数据行,该数据行的音频数据可以在回放前加载,而不是实时流出。

LineUnavailableException 是指示某一行因为不可用而无法打开的异常。

此情况通常在请求的行已由另一个应用程序使用时发生。

UnsupportedAudioFileException 是指示因为文件没有包含可识别文件类型和格式的有效数据而致使操作失败的异常。

代码实现:File wavFile = new File("C:\\jisuan\\8.wav");AudioInputStream ais = null;try {ais = AudioSystem.getAudioInputStream(wavFile);} catch (UnsupportedAudioFileException | IOException e1) {e1.printStackTrace();}Clip clip = null;try {clip = AudioSystem.getClip();} catch (LineUnavailableException e1) {e1.printStackTrace();}try {clip.open(ais);} catch (LineUnavailableException | IOException e1) {e1.printStackTrace();}clip.start();第四章运行环境操作系统:Windows操作系统开发软件:Eclipse软件第五章界面展示及测试5.1 界面展示界面采用上中下布局,上方为数据的显示框,中间为按键区,下方为时间显示区。

如图5-1-1所示。

图5-1-15.2测试本计算器基本实现其功能,能进行加减乘除运算,正确显示时间,按键能输出声音,达到设计要求。

第六章课程设计心得此次课程设计让我更了解熟悉了Java中的图形用户界面和它的编程方式。

在完成课题的过程中也不断充实了自己,学习到了很多以前没有学习到的知识,收获很大。

最大的收获是在完成过程中培养的解决问题的能力,在做项目时必然会遇到困难,会有不会的东西,重要的不是现在会不会,而是遇到问题知道如何找到解决的途径。

还使我对所学知识能够融会贯通,又不断丰富了新知识。

Java计算器设计使得我们对所学的专业课有了更为深刻的认识,使得知识得到了巩固和提高。

第七章参考文献[1]梁勇.Java语言程序设计(基础篇).北京:机械工业出版社,2016[2]李芝兴,杨瑞龙.Java程序设计之网络编程(第二版).北京:清华大学出版社,2016[3]耿祥义.JAVA大学实用教程.北京:清华大学出版社,2015[4]王晓东.算法设计与分析. 北京:清华大学出版社,2015第八章附录:源程序package jisuanqi2;import org.eclipse.swt.widgets.Display;import org.eclipse.swt.widgets.Shell;import yout.GridLayout;import org.eclipse.swt.widgets.Button;import java.io.File;import java.io.IOException;import java.io.InputStream;import java.text.DateFormat;import java.text.SimpleDateFormat;import java.util.Date;import javax.sound.sampled.AudioInputStream;import javax.sound.sampled.AudioSystem;import javax.sound.sampled.Clip;import javax.sound.sampled.LineUnavailableException; import javax.sound.sampled.UnsupportedAudioFileException;import org.eclipse.swt.SWT;import yout.GridData;import org.eclipse.swt.widgets.Text;import org.eclipse.swt.events.SelectionAdapter;import org.eclipse.swt.events.SelectionEvent;import org.eclipse.wb.swt.SWTResourceManager;import bel;public class jisaun2 {protected Shell shell;private Text text;private int op = 0;private double num1;private double num2;private static final int op_ADD =1;private static final int op_SUB =2;private static final int op_MUL =3;private static final int op_DIV =4;private Text text_1;public static void main(String[] args) { try {jisaun2 window = new jisaun2();window.open();} catch (Exception e) {e.printStackTrace();}}public void open() {Display display = Display.getDefault();createContents();shell.open();yout();while (!shell.isDisposed()) {if (!display.readAndDispatch()) {display.sleep();}}}protected void createContents() {shell = new Shell();shell.setImage(SWTResourceManager.getImage("C:\\jisuan\\jisuanqi.jpg")); shell.setSize(251, 324);shell.setText("\u6A21\u62DF\u8BA1\u7B97\u5668");shell.setLayout(new GridLayout(4, false));//设置显示文本框text = new Text(shell, SWT.BORDER | SWT.RIGHT);GridData gd_text = new GridData(SWT.FILL, SWT.FILL, true, false, 4, 1);gd_text.heightHint = 36;gd_text.widthHint = 424;text.setLayoutData(gd_text);//设置按键“7”,并为按键添加监听器Button button = new Button(shell, SWT.NONE);button.setFont(SWTResourceManager.getFont("微软雅黑", 14, SWT.NORMAL)); button.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText(text.getText() + "7");if (text.getText().startsWith("0")){text.setText ( text.getText().substring ( 1, text.getText().length( ) ) ) ;}File wavFile = new File("C:\\jisuan\\7.wav");//音乐文件所在的目录AudioInputStream ais = null;try {ais = AudioSystem.getAudioInputStream(wavFile);} catch (UnsupportedAudioFileException | IOException e1) {e1.printStackTrace();}Clip clip = null;try {clip = AudioSystem.getClip();} catch (LineUnavailableException e1) {e1.printStackTrace();}try {clip.open(ais);} catch (LineUnavailableException | IOException e1) {e1.printStackTrace();}clip.start();//播放音乐文件}});GridData gd_button = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1); gd_button.heightHint = 37;gd_button.widthHint = 51;button.setLayoutData(gd_button);button.setText("7");//设置按键“8”,并为按键添加监听器Button button_1 = new Button(shell, SWT.NONE);button_1.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_1.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText(text.getText() + "8");if (text.getText().startsWith("0")){text.setText ( text.getText().substring ( 1, text.getText().length( ) ) ) ;}File wavFile = new File("C:\\jisuan\\8.wav");//音乐文件所在的目录AudioInputStream ais = null;try {ais = AudioSystem.getAudioInputStream(wavFile);} catch (UnsupportedAudioFileException | IOException e1) {e1.printStackTrace();}Clip clip = null;try {clip = AudioSystem.getClip();} catch (LineUnavailableException e1) {e1.printStackTrace();}try {clip.open(ais);} catch (LineUnavailableException | IOException e1) {e1.printStackTrace();}clip.start(); //播放音乐文件}});GridData gd_button_1 = new GridData(SWT.LEFT, SWT.CENTER, false, false, 1, 1);gd_button_1.heightHint = 37;gd_button_1.widthHint = 51;button_1.setLayoutData(gd_button_1);button_1.setText("8");//设置按键“9”,并为按键添加监听器Button button_2 = new Button(shell, SWT.NONE);button_2.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));GridData gd_button_2 = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);gd_button_2.heightHint = 37;gd_button_2.widthHint = 51;button_2.setLayoutData(gd_button_2);button_2.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText(text.getText() + "9");if (text.getText().startsWith("0")){text.setText ( text.getText().substring ( 1, text.getText().length( ) ) ) ;}File wavFile = new File("C:\\jisuan\\9.wav");//音乐文件所在的目录AudioInputStream ais = null;try {ais = AudioSystem.getAudioInputStream(wavFile);} catch (UnsupportedAudioFileException | IOException e1) {e1.printStackTrace();}Clip clip = null;try {clip = AudioSystem.getClip();} catch (LineUnavailableException e1) {e1.printStackTrace();}try {clip.open(ais);} catch (LineUnavailableException | IOException e1) {e1.printStackTrace();}clip.start(); //播放音乐文件}});button_2.setText("9");//设置按键“+”,并为按键添加监听器Button button_10 = new Button(shell, SWT.NONE);button_10.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));GridData gd_button_10 = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);gd_button_10.widthHint = 46;gd_button_10.heightHint = 40;button_10.setLayoutData(gd_button_10);button_10.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {op = op_ADD;num1 =Double.parseDouble (text.getText() );text.setText("0");}});button_10.setText("+");//设置按键“4”,并为按键添加监听器Button button_3 = new Button(shell, SWT.NONE);button_3.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_3.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText(text.getText() + "4");if (text.getText().startsWith("0")){text.setText ( text.getText().substring ( 1, text.getText().length( ) ) ) ;}File wavFile = new File("C:\\jisuan\\4.wav");//音乐文件所在的目录AudioInputStream ais = null;try {ais = AudioSystem.getAudioInputStream(wavFile);} catch (UnsupportedAudioFileException | IOException e1) {e1.printStackTrace();}Clip clip = null;try {clip = AudioSystem.getClip();} catch (LineUnavailableException e1) {e1.printStackTrace();}try {clip.open(ais);} catch (LineUnavailableException | IOException e1) {e1.printStackTrace();}clip.start(); //播放音乐文件}});GridData gd_button_3 = new GridData(SWT.FILL, SWT.CENTER, false, false, 1, 1);gd_button_3.heightHint = 37;gd_button_3.widthHint = 51;button_3.setLayoutData(gd_button_3);button_3.setText("4");//设置按键“5”,并为按键添加监听器Button button_4 = new Button(shell, SWT.NONE);button_4.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_4.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText(text.getText() + "5");if (text.getText().startsWith("0")){text.setText ( text.getText().substring ( 1, text.getText().length( ) ) ) ;}File wavFile = new File("C:\\jisuan\\5.wav");//音乐文件所在的目录AudioInputStream ais = null;try {ais = AudioSystem.getAudioInputStream(wavFile);} catch (UnsupportedAudioFileException | IOException e1) {e1.printStackTrace();}Clip clip = null;try {clip = AudioSystem.getClip();} catch (LineUnavailableException e1) {e1.printStackTrace();}try {clip.open(ais);} catch (LineUnavailableException | IOException e1) {e1.printStackTrace();}clip.start(); //播放音乐文件}});GridData gd_button_4 = new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1); gd_button_4.heightHint = 33;button_4.setLayoutData(gd_button_4);button_4.setText("5");//设置按键“6”,并为按键添加监听器Button button_5 = new Button(shell, SWT.NONE);button_5.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_5.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText(text.getText() + "6");if (text.getText().startsWith("0")){text.setText ( text.getText().substring ( 1, text.getText().length( ) ) ) ;}File wavFile = new File("C:\\jisuan\\6.wav");//音乐文件所在的目录AudioInputStream ais = null;try {ais = AudioSystem.getAudioInputStream(wavFile);} catch (UnsupportedAudioFileException | IOException e1) {e1.printStackTrace();}Clip clip = null;try {clip = AudioSystem.getClip();} catch (LineUnavailableException e1) {e1.printStackTrace();}try {clip.open(ais);} catch (LineUnavailableException | IOException e1) {e1.printStackTrace();}clip.start();//播放音乐文件}});GridData gd_button_5 = new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1);gd_button_5.heightHint = 35;button_5.setLayoutData(gd_button_5);button_5.setText("6");//设置按键“-”,并为按键添加监听器Button button_11 = new Button(shell, SWT.NONE);button_11.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_11.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {op = op_SUB ;num1 =Double.parseDouble (text.getText() );text.setText("0");}});button_11.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));button_11.setText("-");//设置按键“1”,并为按键添加监听器Button button_6 = new Button(shell, SWT.NONE);button_6.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_6.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText (text.getText() + "1");if (text.getText().startsWith("0")){text.setText ( text.getText().substring (1, text.getText().length( ) ) ) ;}else if(text.getText().startsWith("0.")){text.setText ( text.getText() +"1") ;}File wavFile = new File("C:\\jisuan\\1.wav");//音乐文件所在的目录AudioInputStream ais = null;try {ais = AudioSystem.getAudioInputStream(wavFile);} catch (UnsupportedAudioFileException | IOException e1) {e1.printStackTrace();}Clip clip = null;try {clip = AudioSystem.getClip();} catch (LineUnavailableException e1) {e1.printStackTrace();}try {clip.open(ais);} catch (LineUnavailableException | IOException e1) {e1.printStackTrace();}clip.start();//播放音乐文件}});GridData gd_button_6 = new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1);gd_button_6.heightHint = 37;gd_button_6.widthHint = 51;button_6.setLayoutData(gd_button_6);button_6.setText("1");//设置按键“2”,并为按键添加监听器Button button_7 = new Button(shell, SWT.NONE);button_7.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_7.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText(text.getText() + "2");if (text.getText().startsWith("0")){text.setText ( text.getText().substring ( 1, text.getText().length( ) ) ) ;}File wavFile = new File("C:\\jisuan\\2.wav");//音乐文件所在的目录AudioInputStream ais = null;try {ais = AudioSystem.getAudioInputStream(wavFile);} catch (UnsupportedAudioFileException | IOException e1) {e1.printStackTrace();}Clip clip = null;try {clip = AudioSystem.getClip();} catch (LineUnavailableException e1) {e1.printStackTrace();}try {clip.open(ais);} catch (LineUnavailableException | IOException e1) {e1.printStackTrace();}clip.start();//播放音乐文件}});button_7.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1)); button_7.setText("2");//设置按键“2”,并为按键添加监听器Button button_8 = new Button(shell, SWT.NONE);button_8.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_8.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText(text.getText() + "3");if (text.getText().startsWith("0")){text.setText ( text.getText().substring ( 1, text.getText().length( ) ) ) ;}File wavFile = new File("C:\\jisuan\\3.wav");//音乐文件所在的目录AudioInputStream ais = null;try {ais = AudioSystem.getAudioInputStream(wavFile);} catch (UnsupportedAudioFileException | IOException e1) {e1.printStackTrace();}Clip clip = null;try {clip = AudioSystem.getClip();} catch (LineUnavailableException e1) {e1.printStackTrace();}try {clip.open(ais);} catch (LineUnavailableException | IOException e1) {e1.printStackTrace();}clip.start(); //播放音乐文件}});button_8.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));button_8.setText("3");//设置按键“x”,并为按键添加监听器Button button_12 = new Button(shell, SWT.NONE);button_12.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_12.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {op = op_MUL;num1 =Double.parseDouble (text.getText() );text.setText("0");}});button_12.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));button_12.setText("\u00D7");//设置按键“C”,并为按键添加监听器Button btnC = new Button(shell, SWT.NONE);btnC.setFont(SWTResourceManager.getFont("微软雅黑", 14, SWT.NORMAL));btnC.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText("0");}});btnC.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));btnC.setText("C");//设置按键“0”,并为按键添加监听器Button button_9 = new Button(shell, SWT.NONE);button_9.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_9.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText(text.getText() + "0");if (text.getText().startsWith("0")){text.setText ( text.getText().substring ( 1, text.getText().length( ) ) ) ;}File wavFile = new File("C:\\jisuan\\0.wav");//音乐文件所在的目录AudioInputStream ais = null;try {ais = AudioSystem.getAudioInputStream(wavFile);} catch (UnsupportedAudioFileException | IOException e1) {e1.printStackTrace();}Clip clip = null;try {clip = AudioSystem.getClip();} catch (LineUnavailableException e1) {e1.printStackTrace();}try {clip.open(ais);} catch (LineUnavailableException | IOException e1) {e1.printStackTrace();}clip.start(); //播放音乐文件}});GridData gd_button_9 = new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1); gd_button_9.heightHint = 37;gd_button_9.widthHint = 51;button_9.setLayoutData(gd_button_9);button_9.setText("0");//设置按键“.”,并为按键添加监听器Button button_14 = new Button(shell, SWT.NONE);button_14.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_14.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {text.setText (text.getText() + ".");}});button_14.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));button_14.setText(".");//设置按键“÷”,并为按键添加监听器Button button_13 = new Button(shell, SWT.NONE);button_13.setFont(SWTResourceManager.getFont("微软雅黑", 14,SWT.NORMAL));button_13.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {op = op_DIV;num1 =Double.parseDouble (text.getText() );num1 = Integer.parseInt( text.getText() );text.setText("0");}});button_13.setLayoutData(new GridData(SWT.FILL, SWT.FILL, false, false, 1, 1));button_13.setText("\u00F7");//设置按键“=”,并为按键添加监听器Button button_15 = new Button(shell, SWT.NONE);button_15.setFont(SWTResourceManager.getFont("微软雅黑", 16,SWT.NORMAL));button_15.addSelectionListener(new SelectionAdapter() {public void widgetSelected(SelectionEvent e) {double result ;num2 =Double.parseDouble ( text.getText() );//获取输入的第二个数switch ( op) {case op_ADD://进行加法运算result = num1+num2;text.setText( result +"");if (text.getText().endsWith("0"))text.setText(text.getText().substring(0,text.getText().length()-2));break;case op_SUB://进行减法运算result = num1 - num2;text.setText( result +"");if (text.getText().endsWith("0"))text.setText(text.getText().substring(0,text.getText().length()-2));break;case op_MUL://进行乘法运算result = num1 * num2;text.setText( result +"");if (text.getText().endsWith("0"))text.setText(text.getText().substring(0,text.getText().length()-2));break;case op_DIV://进行除法运算result = num1 / num2;text.setText( result +"");if (text.getText().endsWith("0"))text.setText(text.getText().substring(0,text.getText().length()-2));break;default:break;}}});GridData gd_button_15 = new GridData(SWT.FILL, SWT.FILL, false, false, 4, 1);gd_button_15.heightHint = 34;button_15.setLayoutData(gd_button_15);button_15.setText("=");text_1 = new Text(shell, SWT.BORDER | SWT.READ_ONLY);text_1.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 4, 1));//获取时间并显示在文本框中Date d=new Date();DateFormat df=new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");//转换格式text_1.setText(df.format(d));Thread t=new Thread(){//循环显示时间public void run(){while(true){try{Thread.sleep(1000);//暂停,每一秒输出一次}catch (InterruptedException e){e.printStackTrace();}.final Date d=new Date();final DateFormat df=new SimpleDateFormat("yyyy 年MM 月dd 日HH:mm:ss");Display.getDefault().asyncExec(new Runnable(){public void run(){text_1.setText(df.format(d));}});}}};t.setDaemon(true);t.start();}}。

相关文档
最新文档