JAVA语言程序的设计课程设计报告书.doc_第1页
JAVA语言程序的设计课程设计报告书.doc_第2页
JAVA语言程序的设计课程设计报告书.doc_第3页
JAVA语言程序的设计课程设计报告书.doc_第4页
JAVA语言程序的设计课程设计报告书.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

存档资料 成绩: 华东交通大学理工学院课 程 设 计 报 告 书 所属课程名称 JAVA语言程序设计课程设计 题 目 基于AWT的计算器编程 分 院 电 信 分 院 专业班级 学号 - 学生姓名 指导教师 2011年xx月xx日 华东交通大学理工学院课程设计报告华东交通大学理工学院课 程 设 计( 论 文 )任 务 书专 业 班 级1、2姓名 一、课程设计(论文)题目 基于AWT的计算器编程 二、课程设计(论文)工作:自 2010 年12 月 20 日起至 2010年 12 月 24 日止。三、课程设计(论文)的内容要求: 计算器应用程序可以完成加、减、乘、除运算,且有小数点、正负号、求倒数、退格和清零功能等功能。 序号项 目等级优秀良好中等及格不及格1课程设计态度评价2出勤情况评价3任务难度评价4工作量饱满评价5任务难度评价6设计中创新性评价7论文书写规范化评价8综合应用能力评价综合评定等级 学生签名: 2010 年12 月 24 日课程设计(论文)评阅意见 评阅人 职称 20 年 月 日 目录第1章 课 程 设 计( 论 文 )任 务 书.2第2章 程序设计目的.5第3章 程序实现思路6第4章 程序清单或正文10第5章课程设计心得18第6章参考文献19第2章 程序设计目的本应用程序继承自框架类(Frame),此程序使用Frame布局管理器BorderLayout,将单行文本框加入到“North”区域,包含各种按钮的面板Panel p加入到”Center”区域。包含各种按钮的面板Panel p 采用4行5列的网格布局,然后将数字按钮和运算符按钮以及控制按钮添加到面板中。同时注册按钮事件监听器。如:Button b=new Button(); b.addActionListener(事件监听器);事件监听器中的事件处理方法void actionPerformed(ActionEvent evt)完成主要的按钮事件的处理。事件处理分以下几种情况:数字按钮事件(”0”,”1”,”2”8”,”9”)、运算符按钮事件(”+”,”“,”*”,”/”)、正负号按钮事件(”+/-“)、小数点按钮事件(”.”)、等号按钮事件(”)、求倒按钮事件(”1/x”)、退格按钮事件(”退格”)、清楚按钮事件(“C”)。在事件处理触发按钮事件时,要进一步分析,是重新开始计算时触发的按钮事件还是计算中间触发的按钮事件。计算器完成的是一个数学表达式,如:32,所以可以采用一个链表(LinkedList类)来存储数字或字符,如3,2分别存储在链表中,最后运算时,可以一一取出来进行运算。通过使用上述方法达到简易计算。第3章程序实现思路1.设计思路图创建按钮添加按钮布局添加画板创建文本框计算器增加监听器测试程序结束!2.具体实现步骤: 1.创建主类-计算器class jsq extends Frame double op, pa1, pa2, pa3;String op1, op2, ll, s;boolean isResult = false; /声明Frame p=new Frame(计算器);/设置标题2.创建按钮Panel p0 = new Panel(); Panel p1 = new Panel();Panel p2 = new Panel(); Panel p3 = new Panel();Panel p4 = new Panel(); Panel p5 = new Panel();Panel p6 = new Panel(); Panel p7 = new Panel();/创建按钮 3.初始化按钮Button b1 = new Button(Backspace); Button b2 = new Button(CE);Button b5 = new Button(7); Button b6 = new Button(8);Button b7 = new Button(9); Button b8 = new Button(/);Button b11 = new Button(4); Button b12 = new Button(5);Button b13 = new Button(6); Button b14 = new Button(*);Button b17 = new Button(1); Button b18 = new Button(2);Button b19 = new Button(3); Button b20 = new Button(-);Button b21 = new Button(1/x);Button b23 = new Button(0); Button b24 = new Button(+/-);Button b25 = new Button(.); Button b26 = new Button(+);Button b27 = new Button(=);public void jbInit() t.setHorizontalAlignment(JTextField.RIGHT);4.添加画板和为画板布局this.add(p0);/为画板p0设置 布局p0.setLayout(new GridLayout(6, 6, 10, 5);p0.setBackground(Color.white);p0.add(p1);p1.setLayout(new BorderLayout();p1.setBackground(Color.lightGray);p1.add(t); /为画板p1设置 布局p2.setLayout(new GridLayout(1, 4, 5, 5);p2.setBackground(Color.lightGray); /为画板p0设置 布局p0.add(p3); /向画板P2中添加按钮p3.setLayout(new GridLayout(1, 6, 5, 5);p3.setBackground(Color.lightGray); /为画板p0设置 布局p3.add(b5); p3.add(b6);p3.add(b7); p3.add(b8);p3.add(b1); p0.add(p4); /向画板P3中添加按钮/为画板p0设置 布局添加按钮与布局如图所示!p4.setLayout(new GridLayout(1, 6, 5, 5);p4.setBackground(Color.lightGray);/向画板P4中添加按钮p4.add(b11); p4.add(b12); p4.add(b13); p4.add(b14);p4.add(b2); p0.add(p5);/为画板p0设置 布局p5.setLayout(new GridLayout(1, 6, 5, 5);p5.setBackground(Color.lightGray); /向画板P5中添加按钮 p5.add(b17); p5.add(b18); p5.add(b19); p5.add(b20); p5.add(b21); p0.add(p6); /为画板p0设置 布局p6.setLayout(new GridLayout(1, 6, 5, 5);p6.setBackground(Color.lightGray);/向画板P6中添加按钮p6.add(b23); p6.add(b24); p6.add(b25); p6.add(b26); p6.add(b27);/调整大小并显示this.pack();this.setVisible(true);t.setEditable(false);t.setBackground(Color.white);/背景色5向按钮中增加监听器b2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) String m = t.getText(); t.setText(0););b23.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) ll = t.getText();if (ll.equals(0) else t.setText(t.getText() + 0););b17.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) ll = t.getText();if (ll.equals(0) t.setText(1);使用事件监听器对按钮操作 else t.setText(t.getText() + 1););b18.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) ll = t.getText();if (ll.equals(0) t.setText(2);else t.setText(t.getText() + 2););按照这种方法依次可以可以为其他按钮编写事件,详细见程序正文。 第4章程序清单或正文import java.awt.*;import java.awt.MenuBar;import javax.swing.*;import java.awt.event.*;class jsqextends Frame double op, pa1, pa2, pa3;String op1, op2, ll, s;boolean isResult = false;Frame p=new Frame( );Panel p0 = new Panel(); Panel p1 = new Panel();Panel p2 = new Panel(); Panel p3 = new Panel();Panel p4 = new Panel(); Panel p5 = new Panel();Panel p6 = new Panel(); Panel p7 = new Panel();JTextField t = new JTextField(0);TextArea te = new TextArea();Button b1 = new Button(Backspace); Button b2 = new Button(CE);Button b5 = new Button(7); Button b6 = new Button(8);Button b7 = new Button(9); Button b8 = new Button(/);Button b11 = new Button(4); Button b12 = new Button(5);Button b13 = new Button(6); Button b14 = new Button(*);Button b17 = new Button(1); Button b18 = new Button(2);Button b19 = new Button(3); Button b20 = new Button(-);Button b21 = new Button(1/x); Button b23 = new Button(0);Button b24 = new Button(+/-); Button b25 = new Button(.);Button b26 = new Button(+); Button b27 = new Button(=);public void jbInit() t.setHorizontalAlignment(JTextField.RIGHT);this.add(p0);p0.setLayout(new GridLayout(6, 6, 10, 5);p0.setBackground(Color.white);p0.add(p1);p1.setLayout(new BorderLayout();p1.setBackground(Color.lightGray);p1.add(t);p2.setLayout(new GridLayout(1, 4, 5, 5);p2.setBackground(Color.lightGray);p0.add(p3);p3.setLayout(new GridLayout(1, 6, 5, 5);p3.setBackground(Color.lightGray);p3.add(b5); p3.add(b6);p3.add(b7); p3.add(b8);p3.add(b1); p0.add(p4);p4.setLayout(new GridLayout(1, 6, 5, 5);p4.setBackground(Color.lightGray);p4.add(b11); p4.add(b12);p4.add(b13); p4.add(b14);p4.add(b2); p0.add(p5);p5.setLayout(new GridLayout(1, 6, 5, 5);p5.setBackground(Color.lightGray);p5.add(b17); p5.add(b18); p5.add(b19);p5.add(b20); p5.add(b21); p0.add(p6);p6.setLayout(new GridLayout(1, 6, 5, 5);p6.setBackground(Color.lightGray);p6.add(b23); p6.add(b24);p6.add(b25); p6.add(b26);p6.add(b27);this.pack();this.setVisible(true);t.setEditable(false);t.setBackground(Color.white);/背景色b2.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) String m = t.getText(); t.setText(0););b23.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) ll = t.getText();if (ll.equals(0) else t.setText(t.getText() + 0););b17.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) ll = t.getText();if (ll.equals(0) t.setText(1); else t.setText(t.getText() + 1););b18.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) ll = t.getText();if (ll.equals(0) t.setText(2);else t.setText(t.getText() + 2););b19.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) ll = t.getText();if (ll.equals(0) t.setText(3);else t.setText(t.getText() + 3););b11.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) ll = t.getText();if (ll.equals(0) t.setText(4);else t.setText(t.getText() + 4););b12.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) ll = t.getText();if (ll.equals(0) t.setText(5);else t.setText(t.getText() + 5););b13.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) ll = t.getText();if (ll.equals(0) t.setText(6);else t.setText(t.getText() + 6););b5.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) ll = t.getText();if (ll.equals(0) t.setText(7);else t.setText(t.getText() + 7););b6.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) ll = t.getText();if (ll.equals(0) t.setText(8);else t.setText(t.getText() + 8););b7.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) ll = t.getText();if (ll.equals(0) t.setText(9);else t.setText(t.getText() + 9););b25.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) String s11 = t.getText();if (s11.indexOf(.) 0) s11 = s11 + .;t.setText(s11););b26.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) op1 = t.getText();t.setText( );op = +; /设置加号);b20.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) op1 = t.getText();t.setText( );op = -; /设置减号);b14.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) op1 = t.getText();t.setText( );op = *; /设置乘号);b8.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) op1 = t.getText();t.setText( );op = /; /设置除号);b5.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) op1 = t.getText();t.setText( );/设置清除按钮);/设置等号按钮b27.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) op2 = t.getText();pa1 = Double.parseDouble(op1); /字弧串变为双精度数pa2 = Double.parseDouble(op2); /字弧串变为双精度数double pa3 =0;if (op = +)pa3 = pa1 + pa2;if (op = -)pa3 = pa1 - pa2;if (op = *)pa3 = pa1 * pa2;if (op = /)pa3 = pa1 / pa2;t.setText( + pa3););b21.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) try double len =Double.parseDouble(t.getText();len = (1 / len);if (t.getText() != null) t.setText( + len);catch (NumberFormatException ex) ) ;b24.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) try int len = Integer.parseInt(t.getText();len = len + 1;if (t.getText() != null) t.setText( + len);catch (NumberFormatException ex) System.out .print(error) ;) ;b1.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) String ss=t.getText() ;int len=ss.length();if(ss!=null)t.setText(ss.substring(0,len-1) ;if(len=1)t.setText(0);b1_actionPerformed(e);) ;t.addMouseListener(new MouseAda

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论