/* This applet was manufactured by Juergen Giesen, 10/98 */

import java.awt.*;
import java.applet.Applet;
import java.lang.Object;

public class Rechner extends Applet
{
	TextField input1, input2;
	Label resultat;
	Button plusButton, malButton, clearButton;
	String str1, str2;
	rechenwerk meinRechenwerk;
	double ergebnis;
			
	public void init() {
	
	//setLayout(null);

		input1 = new TextField(8);
		add(input1);
		
		input2 = new TextField(8);
		add(input2);
		
		plusButton = new Button("+");
		add(plusButton);
		
		malButton = new Button("*");
		add(malButton);
		
		clearButton = new Button("clear");
		add(clearButton);
		
		resultat =  new Label("0.000000");
		add(resultat);
	}
	
	public boolean action(Event event, Object eventobject)
	{
					
		if ((event.target==plusButton))
		{
			str1 = input1.getText();
			str2 = input2.getText();
			meinRechenwerk = new rechenwerk();
			ergebnis = meinRechenwerk.addiere(str1, str2); 				
			resultat.setText("" + ergebnis);
			return true;		
		}
		
		if ((event.target==malButton))
		{
			str1 = input1.getText();
			str2 = input2.getText();
			meinRechenwerk = new rechenwerk();
			ergebnis = meinRechenwerk.multipliziere(str1, str2); 				
			resultat.setText("" + ergebnis);
			return true;		
		}
		
		
				
		if (event.target==clearButton)
		{
			input1.setText("");
			input2.setText("");
			resultat.setText("0.000000");
			return true;
		}
		return true;			
	}
	
	public boolean keyDown(Event event, int code)
	{		
		if (code==43) // Taste "+"
		{
			str1 = input1.getText();
			str2 = input2.getText();
			meinRechenwerk = new rechenwerk();
			ergebnis = meinRechenwerk.addiere(str1, str2); 			
			resultat.setText("" + ergebnis);
			return true;
		}
		if (code==42) // Taste "*"
		{
			str1 = input1.getText();
			str2 = input2.getText();
			meinRechenwerk = new rechenwerk();
			ergebnis = meinRechenwerk.multipliziere(str1, str2); 			
			resultat.setText("" + ergebnis);
			return true;
		}
		return false;
	}
	
	
}
//-----------------------------------------------------------------------------------------

class rechenwerk
{
	Double D1, D2; // Instanzen der Klasse "Double", keine direkte Konvertierung von String zu "double"
	double d1, d2; 
	String str1, str2;
	
	void rechenwerk() {
	}
	
	void konvertiere()
	{
		D1 = Double.valueOf(str1);
		D2 = Double.valueOf(str2);
		d1 = D1.doubleValue();
		d2 = D2.doubleValue();
		
	
	}
	
	double addiere(String str1, String str2)
	{	
		this.str1 = str1;
		this.str2 = str2;	
		konvertiere();	
		return d1+d2;
	}
	double multipliziere(String str1, String str2)
	{	
		this.str1 = str1;
		this.str2 = str2;	
		konvertiere();	
		return d1*d2;
	}
}
