版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
小应用程序Applet设计课题内容和规定内容:设计和编写一个可以用鼠标操作的Applet小应用程序和相应的HTML页面,观测Applet的执行过程,测试程序鼠标用户交互操作的效果。规定:规定学生能在学习和理解课堂学习内容中JAVA小应用程序的基础上,通过实验,培养学生将JAVA小应用程序相关知识点(涉及JAVAApplet和低档事件解决模型)有机结合,设计基于WEB浏览器的小应用程序的能力。二、设计思绪分析classApp:一个JavaApplet计算器的主类publicvoidinit():完毕初始化appletpublicbooleanaction():实现事件解决的方法publicvoiddoOperator():运算及运算结果输出操作publicvoiddoForeScreen():数字和小数点输出到文本框操作publicvoiddoClear():清空操作三、概要设计publicclassAppextendsApplet{TextFieldtfAnswer; Buttonb0,b1,b2,b3,b4,b5,b6,b7,b8,b9; ButtonbPoint,bEqual,bPlus,bMinus,bClear,bMulti,bDivision;ﻩStringOperatorCurrent,OperatorPre;ﻩStringForeScreen,BackScreen;ﻩbooleanisFloat=false;ﻩpublicvoidinit();ﻩpublicbooleanaction(Evente,Objecto);ﻩpublicvoiddoOperator() publicvoiddoForeScreen(Strings);ﻩpublicvoiddoClear();}事件解决:运算及运算结果输出:四、具体设计Java代码:importjava.awt.*;importjava.applet.*;publicclassAppextendsApplet{ﻩTextFieldtfAnswer;//定义变量ﻩButtonb0,b1,b2,b3,b4,b5,b6,b7,b8,b9; ButtonbPoint,bEqual,bPlus,bMinus,bClear,bMulti,bDivision; StringOperatorCurrent,OperatorPre;ﻩStringForeScreen,BackScreen; booleanisFloat=false;ﻩpublicvoidinit(){//初始化 ﻩOperatorCurrent=newString(""); OperatorPre=newString(""); ﻩForeScreen=newString("0");//保证输入字符串不为空防止计算错误 ﻩBackScreen=newString("");ﻩ setBackground(Color.gray); setLayout(null);//设为空布局便于自定义组件位置 tfAnswer=newTextField();//设立文本框样式ﻩﻩtfAnswer.setBounds(20,20,175,40); ﻩtfAnswer.setFont(newFont(BackScreen,Font.BOLD,28)); add(tfAnswer); ﻩtfAnswer.setText(ForeScreen); ﻩbClear=newButton("C");//设立按钮样式 bClear.setBounds(20,70,40,40); add(bClear);ﻩﻩbDivision=newButton("/");ﻩﻩbDivision.setBackground(Color.green);ﻩﻩbDivision.setBounds(65,70,40,40);ﻩ add(bDivision); bMulti=newButton("*");ﻩ bMulti.setBackground(Color.green); bMulti.setBounds(110,70,40,40); add(bMulti);ﻩﻩbMinus=newButton("-"); bMinus.setBackground(Color.green);ﻩﻩbMinus.setBounds(155,70,40,40); ﻩadd(bMinus); b7=newButton("7");ﻩﻩb7.setBounds(20,115,40,40);ﻩ b7.setBackground(Color.orange); ﻩadd(b7); ﻩb8=newButton("8");ﻩﻩb8.setBackground(Color.orange); b8.setBounds(65,115,40,40); add(b8); b9=newButton("9");ﻩﻩb9.setBackground(Color.orange);ﻩ b9.setBounds(110,115,40,40); ﻩadd(b9); bPlus=newButton("+"); bPlus.setBackground(Color.green);ﻩ bPlus.setBounds(155,115,40,85); ﻩadd(bPlus);ﻩ b4=newButton("4");ﻩ b4.setBackground(Color.orange); ﻩb4.setBounds(20,160,40,40); add(b4); b5=newButton("5"); ﻩb5.setBackground(Color.orange); b5.setBounds(65,160,40,40); add(b5);ﻩ b6=newButton("6"); b6.setBackground(Color.orange);ﻩﻩb6.setBounds(110,160,40,40); ﻩadd(b6); b1=newButton("1");ﻩ b1.setBackground(Color.orange); ﻩb1.setBounds(20,205,40,40); ﻩadd(b1); ﻩb2=newButton("2");ﻩﻩb2.setBackground(Color.orange); b2.setBounds(65,205,40,40); ﻩadd(b2);ﻩﻩb3=newButton("3");ﻩﻩb3.setBackground(Color.orange);ﻩﻩb3.setBounds(110,205,40,40);ﻩﻩadd(b3); bEqual=newButton("="); ﻩbEqual.setBackground(Color.green); ﻩbEqual.setBounds(155,205,40,85);ﻩﻩadd(bEqual);ﻩ b0=newButton("0");ﻩ b0.setBackground(Color.orange);ﻩﻩb0.setBounds(20,250,85,40); add(b0); ﻩbPoint=newButton("."); ﻩbPoint.setBackground(Color.orange);ﻩﻩbPoint.setBounds(110,250,40,40); add(bPoint); } publicbooleanaction(Evente,Objecto){//实现事件解决的方法ﻩﻩStrings=newString("");ﻩﻩif((e.target==b0)||(e.target==b1)||(e.target==b2)ﻩﻩﻩﻩ||(e.target==b3)||(e.target==b4)||(e.target==b5)ﻩﻩ ﻩ||(e.target==b6)||(e.target==b7)||(e.target==b8) ﻩ||(e.target==b9)){//获取数字按钮数据并在控制台和文本框输出ﻩﻩﻩif(e.target!=bPoint){//获取数字 ﻩ ﻩs=(String)o;ﻩﻩﻩ doForeScreen(s); ﻩ }ﻩ } ﻩif((e.target==bPoint)&&!ForeScreen.contains(".")){//保证原数不含小数点的情况下获取小数点并在控制台和文本框输出ﻩﻩ s=(String)o;ﻩﻩ if(ForeScreen.equals(""))//本来没有输入数据则用0. ﻩ {ﻩﻩ doForeScreen("0."); ﻩﻩ}else//本来有输入数据则用.ﻩﻩﻩ{ ﻩ doForeScreen(s);ﻩ } } ﻩif(e.target==bClear){//清除按钮进行清除操作 doClear(); ﻩ}ﻩﻩif((e.target==bMulti)||(e.target==bDivision) ﻩﻩ||(e.target==bPlus)||(e.target==bMinus) ||(e.target==bEqual)){//加减乘除等于按钮获取运算操作符并进行运算操作 if(ForeScreen!=""){//重新输入数字进行运算操作 ﻩ OperatorCurrent=((String)o); ﻩ doOperator();ﻩﻩﻩ}else{//没有重新输入数字则作为上一运算符--->保证不输入连续的同一运算符 ﻩ OperatorPre=((String)o);ﻩﻩ }ﻩ }ﻩﻩreturntrue; }ﻩpublicvoiddoOperator(){//运算及运算结果输出操作ﻩﻩdoubledFore,dBack;ﻩﻩDoubled;ﻩﻩif(OperatorPre.equals("")){//上一运算符没有则直接输出ﻩ BackScreen=ForeScreen;//输入的数据转入后台并清空,用后台输出它 ﻩﻩForeScreen=""; ﻩ tfAnswer.setText(BackScreen); repaint();ﻩﻩ}else{//上一运算符存在则运算后输出ﻩ ﻩdFore=(newDouble(ForeScreen)).doubleValue(); ﻩﻩdBack=(newDouble(BackScreen)).doubleValue(); ﻩForeScreen="";//运算结果转入后台并清空,用后台输出它 ﻩBackScreen=tfAnswer.getText(); ﻩﻩif(OperatorPre.equals("+")){ ﻩ d=newDouble((dBack+dFore));ﻩ ﻩﻩBackScreen=d.toString();ﻩﻩ } ﻩﻩif(OperatorPre.equals("-")){ ﻩd=newDouble((dBack-dFore));ﻩ ﻩBackScreen=d.toString(); ﻩ}ﻩ if(OperatorPre.equals("*")){ ﻩ ﻩd=newDouble((dBack*dFore)); ﻩﻩ BackScreen=d.toString();ﻩﻩﻩ}ﻩﻩ if(OperatorPre.equals("/")){ﻩ d=newDouble((dBack/dFore));ﻩ BackScreen=d.toString();ﻩﻩ }ﻩﻩﻩtfAnswer.setText(BackScreen);ﻩﻩﻩrepaint();ﻩﻩ}ﻩ OperatorPre=OperatorCurrent;//现运算符变上一运算符ﻩﻩrepaint(); }ﻩpublicvoiddoForeScreen(Strings){//数字和小数点输出到文本框操作ﻩ ForeScreen+=s; if(ForeScreen.length()>1&&ForeScreen.startsWith("0") ﻩ ﻩ&&!ForeScreen.contains("."))//以0开头的长度大于一的非小数去掉开头的0ﻩ ﻩForeScreen=ForeScreen.substring(1); ﻩtfAnswer.setText(ForeScreen); repaint(); }ﻩpublicvoiddoClear(){//清空操作ﻩ OperatorCurrent="";ﻩ OperatorPre="";ﻩ ForeScreen="0";ﻩ BackScreen="";ﻩﻩisFloat=false;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 生产安全标准化作业指导手册
- 质量保障诚信承诺书(9篇)
- 公益捐款资金管理承诺函8篇
- 技术报告书写及数据解读标准工具
- 强化业务成效贡献力量的承诺书(4篇)
- 九江市重点中学2026届初三1月语文试题含解析
- 浙江省部分地区2026届初三核心模拟卷(下)化学试题含解析
- 临床导管相关性血流感染预防和护理
- 湖北省孝感市孝南区肖港初级中学2026年初三4月普通高中中考适应性测试一模英语试题含解析
- 江苏省江阴市澄西片重点中学2026届初三3月11的语文试题测试卷含解析
- 时间在哪里(单元测试)2025-2026学年二年级数学下册人教版(含答案)
- 《钢筋桁架楼承板应用技术规程》TCECS 1069-2022
- YS/T 22-2010锑酸钠
- GB/T 5825-1986建筑门窗扇开、关方向和开、关面的标志符号
- GB/T 28650-2012公路防撞桶
- GB/T 24524-2009金属材料薄板和薄带扩孔试验方法
- 大学生志愿服务基地合作共建协议书
- 烟草专卖管理师(二级)专业能力试卷
- 设备及管道附件检测记录
- 系统性巴林特小组工作和雕塑
- 高中思想政治学习方法指导课件
评论
0/150
提交评论