⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calcapplet.java

📁 此程序是既支持Applet又支持Application的Java的计算器的程序。在本程序中完成了这两者之间的功能。
💻 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 + -