All pastes #244943 Raw Edit

Unnamed

public text v1 · immutable
#244943 ·published 2006-11-10 12:30 UTC
rendered paste body
import java.awt.*;
import java.awt.event.*;
import java.applet.*;

public class Opdracht13_07 extends Applet {
	public static TextArea   display;
	Controller controller;
	public void init() {
		setLayout(new BorderLayout());
		
		display       = new TextArea("", 1, 2, TextArea.SCROLLBARS_NONE);
		controller    = new Controller();
		
		add(display, BorderLayout.CENTER);
		add(controller, BorderLayout.SOUTH);
	}
}

class Controller extends Panel {
	private Button[] knopRij;
	private Button optellen, delen, vermenigvuldigen, uitkomst, aftrekken, reset;
	int input1, input2, resultaat;
	int aantalKerenGedrukt    = 0;
	StringBuffer inputDisplay = new StringBuffer();
	boolean optellenAan  = false,
    delenAan             = false,
    vermenigvuldigenAan  = false,
    aftrekkenAan         = false;
	int totaalResultaat  = 0;
	
	public Controller() {
		setLayout(new GridLayout(4, 4));
		knopRij = new Button[10];
		for(int i=0;i<knopRij.length;i++) {
			knopRij[i] = new Button(""+i);
			knopRij[i].addActionListener(new Getal());
			add(knopRij[i]);
		}
		optellen         = new Button("+");
		delen            = new Button("/");
		vermenigvuldigen = new Button("*");
		uitkomst         = new Button("=");
		aftrekken        = new Button("-");
		reset            = new Button("C");
		
		optellen.addActionListener(new Rekenmachine());
		delen.addActionListener(new Rekenmachine());
		vermenigvuldigen.addActionListener(new Rekenmachine());
		uitkomst.addActionListener(new Rekenmachine());
		aftrekken.addActionListener(new Rekenmachine());
		reset.addActionListener(new Rekenmachine());
		
		add(optellen);
		add(delen);
		add(vermenigvuldigen);
		add(uitkomst);
		add(aftrekken);
		add(reset);
	}
	
	class Getal implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			int cijfer = 0;
			for(int i=0;i<knopRij.length;i++) {
				if ( e.getSource() == knopRij[i]) {
					Opdracht13_07.display.setText(""+i);
					cijfer = Integer.parseInt(Opdracht13_07.display.getText());
				}
			} 
			
			inputDisplay.append(""+cijfer);
			String s = inputDisplay.toString();
			Opdracht13_07.display.setText(s);
		}
	}
	int inputCheck = 0;
	class Rekenmachine implements ActionListener {
		public void actionPerformed(ActionEvent e) {
			if ( e.getSource() == optellen ) {
				aantalKerenGedrukt++;
				if (aantalKerenGedrukt < 2) {
					input1 = Integer.parseInt(Opdracht13_07.display.getText());
				}
				if (aantalKerenGedrukt >= 2) {
					input2 = Integer.parseInt(Opdracht13_07.display.getText());
					input1 = input1 + input2;
					System.out.printf("input1: %d\n", input1);
				}
				optellenAan         = true;
				delenAan            = false;
				aftrekkenAan        = false;
				vermenigvuldigenAan = false;
				inputDisplay.delete(0, inputDisplay.length());
			}
			if ( e.getSource() == delen ) {	
				aantalKerenGedrukt++;
				if ( aantalKerenGedrukt < 2) {
					input1 = Integer.parseInt(Opdracht13_07.display.getText());
				}
				if ( aantalKerenGedrukt >= 2) {
					input2 = Integer.parseInt(Opdracht13_07.display.getText());
					input1 = input1 / input2;
					System.out.printf("input1: %d\n", input1);
					Opdracht13_07.display.setText(""+input1);
				}
				inputDisplay.delete(0, inputDisplay.length());
				optellenAan         = false;
				delenAan 			= true;
				aftrekkenAan        = false;
				vermenigvuldigenAan = false;
			}
			if ( e.getSource() == vermenigvuldigen) {
				aantalKerenGedrukt++;
				if ( aantalKerenGedrukt < 2) {
					input1 = Integer.parseInt(Opdracht13_07.display.getText());
				}
				if ( aantalKerenGedrukt >= 2) {
					input2 = Integer.parseInt(Opdracht13_07.display.getText());
					input1 = input1 * input2;
					System.out.printf("input1: %d\n", input1);
					Opdracht13_07.display.setText(""+input1);
				}
				inputDisplay.delete(0, inputDisplay.length());
				vermenigvuldigenAan = true;
				optellenAan         = false;
				delenAan            = false;
				aftrekkenAan        = false;
			}
			if ( e.getSource() == aftrekken ) {
				aantalKerenGedrukt++;
				if (aantalKerenGedrukt < 2) {
					input1 = Integer.parseInt(Opdracht13_07.display.getText());
				}
				if (aantalKerenGedrukt >= 2) {
					input2 = Integer.parseInt(Opdracht13_07.display.getText());
					input1 = input1 - input2;
					System.out.printf("input1: %d\n", input1);
				}
				inputDisplay.delete(0, inputDisplay.length());
				aftrekkenAan 		= true;
				vermenigvuldigenAan = false;
				delenAan            = false;
				optellenAan         = false;
			}
			if ( e.getSource() == uitkomst ) {
				input2 = Integer.parseInt(Opdracht13_07.display.getText());
	
				if ( optellenAan == true ) { 
					if ( inputCheck == 0) {
						resultaat = input1 + input2;
					} else {
						resultaat = inputCheck + input2;
					}
					inputCheck = 0;
					optellenAan = false;
				}

				if ( delenAan == true ) {
					resultaat = input1 / input2;
					delenAan = false;
				}
				if (vermenigvuldigenAan == true) {
					if ( inputCheck == 0) {
						resultaat = input1 * input2;
					} else {
						resultaat = inputCheck * input2;
					}
					vermenigvuldigenAan = false;
				}
				if ( aftrekkenAan == true) {
					if ( inputCheck == 0 ) {
						resultaat = input1 - input2;
					} else {
						resultaat = input2 - inputCheck;
					}
					inputCheck = 0;
					aftrekkenAan = false;
				}
				aantalKerenGedrukt = 0;
				Opdracht13_07.display.setText(""+resultaat);
			}
			if ( e.getSource() == reset ) {
				aantalKerenGedrukt = 0;
				inputDisplay.delete(0, inputDisplay.length());
				Opdracht13_07.display.setText("0");
			}
		}
	}
}