rendered paste bodyimport 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");
}
}
}
}