JAVA小应用程序Applet设计(计算器)实验报告(附代码)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
小应用程序Applet设计
一、课题内容和要求
内容:设计和编写一个可以用鼠标操作的Applet小应用程序和相应的HTML 页面,观察Applet的执行过程,测试程序鼠标用户交互操作的效果。
要求:要求学生能在学习和理解课堂学习内容中JAVA小应用程序的基础上,通过实验,培养学生将JAVA小应用程序相关知识点(包括JAVA Applet和低级事件处理模型)有机结合,设计基于WEB浏览器的小应用程序的能力。二、设计思路分析
class App:一个Java Applet计算器的主类
public void init():完成初始化applet
public boolean action():实现事件处理的方法
public void doOperator():运算及运算结果输出操作
public void doForeScreen():数字和小数点输出到文本框操作
public void doClear():清空操作
三、概要设计
public class App extends Applet {
TextField tfAnswer;
Button b0, b1, b2, b3, b4, b5, b6, b7, b8, b9;
Button bPoint, bEqual, bPlus, bMinus, bClear, bMulti, bDivision;
String OperatorCurrent, OperatorPre;
String ForeScreen, BackScreen;
boolean isFloat = false;
public void init();
public boolean action(Event e, Object o);
public void doOperator()
public void doForeScreen(String s);
public void doClear();
}
事件处理:
运算及运算结果输出:
四、详细设计
Java代码:
import java.awt.*;
import java.applet.*;
public class App extends Applet {
TextField tfAnswer;// 定义变量
Button b0, b1, b2, b3, b4, b5, b6, b7, b8, b9;
Button bPoint, bEqual, bPlus, bMinus, bClear, bMulti, bDivision;
String OperatorCurrent, OperatorPre;
String ForeScreen, BackScreen;
boolean isFloat = false;
public void init() {// 初始化
OperatorCurrent = new String("");
OperatorPre = new String("");
ForeScreen = new String("0");// 保证输入字符串不为空防止计算错误
BackScreen = new String("");
setBackground(Color.gray);
setLayout(null);// 设为空布局便于自定义组件位置
tfAnswer = new TextField();// 设置文本框样式
tfAnswer.setBounds(20, 20, 175, 40);
tfAnswer.setFont(new Font(BackScreen, Font.BOLD, 28));
add(tfAnswer);
tfAnswer.setText(ForeScreen);
bClear = new Button("C");// 设置按钮样式
bClear.setBounds(20, 70, 40, 40);
add(bClear);
bDivision = new Button("/");
bDivision.setBackground(Color.green);
bDivision.setBounds(65, 70, 40, 40);
add(bDivision);
bMulti = new Button("*");
bMulti.setBackground(Color.green);
bMulti.setBounds(110, 70, 40, 40);
add(bMulti);
bMinus = new Button("-");
bMinus.setBackground(Color.green);
bMinus.setBounds(155, 70, 40, 40);
add(bMinus);
b7 = new Button("7");
b7.setBounds(20, 115, 40, 40);
b7.setBackground(Color.orange);
add(b7);
b8 = new Button("8");
b8.setBackground(Color.orange);
b8.setBounds(65, 115, 40, 40);
add(b8);
b9 = new Button("9");
b9.setBackground(Color.orange);
b9.setBounds(110, 115, 40, 40); add(b9);
bPlus = new Button("+");
bPlus.setBackground(Color.green); bPlus.setBounds(155, 115, 40, 85); add(bPlus);
b4 = new Button("4");
b4.setBackground(Color.orange);
b4.setBounds(20, 160, 40, 40);
add(b4);
b5 = new Button("5");
b5.setBackground(Color.orange);
b5.setBounds(65, 160, 40, 40);
add(b5);
b6 = new Button("6");
b6.setBackground(Color.orange);
b6.setBounds(110, 160, 40, 40); add(b6);
b1 = new Button("1");
b1.setBackground(Color.orange);
b1.setBounds(20, 205, 40, 40);
add(b1);
b2 = new Button("2");
b2.setBackground(Color.orange);
b2.setBounds(65, 205, 40, 40);
add(b2);
b3 = new Button("3");
b3.setBackground(Color.orange);
b3.setBounds(110, 205, 40, 40); add(b3);
bEqual = new Button("="); bEqual.setBackground(Color.green); bEqual.setBounds(155, 205, 40, 85);