📄 calcapplet.java
字号:
/******************************************************************************
* [开发目标] 计算器的实现(此程序既支持applet也支持application)
******************************************************************************/
/******************************************************************************
* Copyright (C) 2007 xxx Corporation.
* [系 统] yyy系统标准版
* [包 名] 无
* [源文件名] CalcApplet.java
* [类 名] CalcApplet
* -----------------------------------------------------------------------------
* REVISION 修改日期 修改者 修改内容
* -----------------------------------------------------------------------------
* 1.0.00 2007-05-02 孙瑛 修改
******************************************************************************/
/**
*计算器的实现
*功能说明:此计算器仅能实现个位数字的相加减。没有小数点的功能。
*此程序既支持applet也支持application
*
* @version 1.0.00
* @author 孙瑛
*
*/
import java.awt.*;
import java.awt.event.*;
import java.applet.Applet;
public class CalcApplet extends Applet implements ActionListener
{
private Button key0, key1, key2, key3, key4;
private Button key5, key6, key7, key8, key9;
private Button keyequal, keyplus, keyminus;
private Button keyperiod, keymult, keydiv;
private Panel buttonArea;
double real1,real2;
int plus = 0, minus = 0, mult = 0, div = 0;
private Label answer;
//有主函数(支持application)
public static void main(String args[])
{
CalcApplet calcGUI = new CalcApplet();
//自己调用init和start方法。
calcGUI.init();
calcGUI.start();
//创建Frame。
Frame frame = new Frame("Calculator");
frame.add(calcGUI);
//添加WindowListener
frame.addWindowListener(new MyWindowListener(calcGUI));
frame.setSize(200, 200);
frame.show();
}
//初始化(init()过程)。
public void init()
{
answer = new Label("0.0",Label.RIGHT);
key0 = new Button("0");
key1 = new Button("1");
key2 = new Button("2");
key3 = new Button("3");
key4 = new Button("4");
key5 = new Button("5");
key6 = new Button("6");
key7 = new Button("7");
key8 = new Button("8");
key9 = new Button("9");
keyequal = new Button("=");
keyplus = new Button("+");
keyminus = new Button("-");
keymult = new Button("*");
keydiv = new Button("/");
keyperiod = new Button(".");
buttonArea = new Panel();
key0.addActionListener(this);
key1.addActionListener(this);
key2.addActionListener(this);
key3.addActionListener(this);
key4.addActionListener(this);
key5.addActionListener(this);
key6.addActionListener(this);
key7.addActionListener(this);
key8.addActionListener(this);
key9.addActionListener(this);
keyequal.addActionListener(this);
keyplus.addActionListener(this);
keyminus.addActionListener(this);
keymult.addActionListener(this);
keydiv.addActionListener(this);
keyperiod.addActionListener(this);
//添加组件。
setLayout(new BorderLayout());
add(answer, BorderLayout.NORTH);
add(buttonArea, BorderLayout.CENTER);
}
//开始运行(添加start()过程)
public void start()
{
buttonArea.setLayout(new GridLayout(4,4));
buttonArea.add(key7);
buttonArea.add(key8);
buttonArea.add(key9);
buttonArea.add(keyplus);
buttonArea.add(key4);
buttonArea.add(key5);
buttonArea.add(key6);
buttonArea.add(keyminus);
buttonArea.add(key1);
buttonArea.add(key2);
buttonArea.add(key3);
buttonArea.add(keymult);
buttonArea.add(key0);
buttonArea.add(keyperiod);
buttonArea.add(keyequal);
buttonArea.add(keydiv);
}
//好像在这个程序中不需要用到这两个函数。
public void stop()
{
}
public void destroy()
{
}
//实现MyWindowListener的内部类
public static class MyWindowListener extends WindowAdapter
{
Applet applet;
public MyWindowListener(Applet applet)
{
this.applet = applet;
}
public void windowClosing(WindowEvent event)
{
applet.stop();
applet.destroy();
System.exit(0);
}
}
//下面都是实现计算器功能的方法了
public void actionPerformed(ActionEvent evt)
{
String arg = evt.getActionCommand();
if(arg.equals("1"))
{
play("1");
}
if(arg.equals("2"))
{
play("2");
}
if(arg.equals("3"))
{
play("3");
}
if(arg.equals("4"))
{
play("4");
}
if(arg.equals("5"))
{
play("5");
}
if(arg.equals("6"))
{
play("6");
}
if(arg.equals("7"))
{
play("7");
}
if(arg.equals("8"))
{
play("8");
}
if(arg.equals("9"))
{
play("9");
}
if(arg.equals("0"))
{
play("0");
}
if(arg.equals("="))
{
Double a = new Double(real2);
String b = a.toString();
answer.setText(b);
real1 = real2 = 0;
plus = minus = mult = div = 0;
}
if(arg.equals("+"))
{
play2();
plus = 1;
}
if(arg.equals("-"))
{
play2();
minus = 1;
}
if(arg.equals("*"))
{
play2();
mult = 1;
}
if(arg.equals("/"))
{
play2();
div = 1;
}
if(arg.equals("."))
{
}
}
public void play(String strnum)
{
answer.setText(strnum);
Double dounum = new Double(strnum);
double num = dounum.doubleValue();
if( plus == 1)
{
real2 = real1 + num;
}
if(minus == 1)
{
real2 = real1 - num;
}
if(mult == 1)
{
real2 = real1 * num;
}
if(div == 1)
{
real2 = real1 / num;
}
}
public void play2()
{
Double a = new Double(answer.getText());
real1 = a.doubleValue();
}
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -