import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.math.*; public class RekenMachine extends JFrame implements ActionListener { Button knop0, knop1, knop2, knop3, knop4, knop5, knop6, knop7, knop8, knop9, delen, maal, min, gelijk, plus, reset, cos; TextField tekstvak; String display1="", display2; Font f; int bewerking; private JPanel panel; public static void main(String[] args) { RekenMachine frame = new RekenMachine(); frame.setSize(200, 250); frame.createGUI(); frame.show(); } public void createGUI() { setDefaultCloseOperation(EXIT_ON_CLOSE); Container window = getContentPane(); window.setLayout(null); //geen layoutmanager panel = new JPanel(); panel.setPreferredSize(new Dimension(150, 150)); panel.setBackground(Color.white); window.add(panel); knop7=new Button("7"); knop7.addActionListener(this); knop7.setBounds(25,60,30,30);//positie en afmeting knop7.setBackground(Color.green);//kleuren van de knoppen knop7.setForeground(Color.black); knop8=new Button("8"); knop8.addActionListener(this); knop8.setBounds(55,60,30,30);//positie en afmeting knop8.setBackground(Color.green);//kleuren van de knoppen knop8.setForeground(Color.black); knop9=new Button("9"); knop9.addActionListener(this); knop9.setBounds(85,60,30,30);//positie en afmeting knop9.setBackground(Color.green);//kleuren van de knoppen knop9.setForeground(Color.black); delen=new Button("/"); delen.addActionListener(this); delen.setBounds(115,60,30,30);//positie en afmeting delen.setBackground(Color.black);//kleuren van de knoppen delen.setForeground(Color.red); knop4=new Button("4"); knop4.addActionListener(this); knop4.setBounds(25,90,30,30);//positie en afmeting knop4.setBackground(Color.green);//kleuren van de knoppen knop4.setForeground(Color.black); knop5=new Button("5"); knop5.addActionListener(this); knop5.setBounds(55,90,30,30);//positie en afmeting knop5.setBackground(Color.green);//kleuren van de knoppen knop5.setForeground(Color.black); knop6=new Button("6"); knop6.addActionListener(this); knop6.setBounds(85,90,30,30);//positie en afmeting knop6.setBackground(Color.green);//kleuren van de knoppen knop6.setForeground(Color.black); maal=new Button("x"); maal.addActionListener(this); maal.setBounds(115,90,30,30);//positie en afmeting maal.setBackground(Color.black);//kleuren van de knoppen maal.setForeground(Color.red); knop1=new Button("1"); knop1.addActionListener(this); knop1.setBounds(25,120,30,30);//positie en afmeting knop1.setBackground(Color.green);//kleuren van de knoppen knop1.setForeground(Color.black); knop2=new Button("2"); knop2.addActionListener(this); knop2.setBounds(55,120,30,30);//positie en afmeting knop2.setBackground(Color.green);//kleuren van de knoppen knop2.setForeground(Color.black); knop3=new Button("3"); knop3.addActionListener(this); knop3.setBounds(85,120,30,30);//positie en afmeting knop3.setBackground(Color.green);//kleuren van de knoppen knop3.setForeground(Color.black); min=new Button("-"); min.addActionListener(this); min.setBounds(115,120,30,30);//positie en afmeting min.setBackground(Color.black);//kleuren van de knoppen min.setForeground(Color.red); reset=new Button("C"); reset.addActionListener(this); reset.setBounds(25,150,30,30);//positie en afmeting reset.setBackground(Color.black);//kleuren van de knoppen reset.setForeground(Color.red); knop0=new Button("0"); knop0.addActionListener(this); knop0.setBounds(55,150,30,30);//positie en afmeting knop0.setBackground(Color.green);//kleuren van de knoppen knop0.setForeground(Color.black); gelijk=new Button("="); gelijk.addActionListener(this); gelijk.setBounds(85,150,30,30);//positie en afmeting gelijk.setBackground(Color.black);//kleuren van de knoppen gelijk.setForeground(Color.yellow); plus=new Button("+"); plus.addActionListener(this ); plus.setBounds(115,150,30,30);//positie en afmeting plus.setBackground(Color.black);//kleuren van de knoppen plus.setForeground(Color.red); cos=new Button("Cos"); cos.addActionListener(this ); cos.setBounds(25,180,30,30);//positie en afmeting cos.setBackground(Color.black);//kleuren van de knoppen cos.setForeground(Color.red); f = new Font("SansSerif", Font.PLAIN, 20); tekstvak=new TextField(); tekstvak.setBounds(25,25,120,30);//positie en afmeting scherm tekstvak.setFont(f); tekstvak.setBackground(Color.green);//kleuren van de knoppen tekstvak.setForeground(Color.black); window.add(tekstvak); window.add(knop1); window.add(knop2); window.add(knop3); window.add(knop4); window.add(knop5); window.add(knop6); window.add(knop7); window.add(knop8); window.add(knop9); window.add(knop0); window.add(delen); window.add(maal); window.add(min); window.add(gelijk); window.add(plus); window.add(reset); window.add(cos); } public void actionPerformed(ActionEvent event) { Object bronDerGebeurtenis = event.getSource(); if (bronDerGebeurtenis.equals(knop1)) { display(1); } if (bronDerGebeurtenis.equals(knop2)) { display(2); } if (bronDerGebeurtenis.equals(knop3)) { display(3); } if (bronDerGebeurtenis.equals(knop4)) { display(4); } if (bronDerGebeurtenis.equals(knop5)) { display(5); } if (bronDerGebeurtenis.equals(knop6)) { display(6); } if (bronDerGebeurtenis.equals(knop7)) { display(7); } if (bronDerGebeurtenis.equals(knop8)) { display(8); } if (bronDerGebeurtenis.equals(knop9)) { display(9); } if (bronDerGebeurtenis.equals(knop0)) { display(0); } if (bronDerGebeurtenis.equals(delen)) { delen(); } if (bronDerGebeurtenis.equals(maal)) { maal(); } if (bronDerGebeurtenis.equals(min)) { min(); } if (bronDerGebeurtenis.equals(gelijk)) { gelijk(); } if (bronDerGebeurtenis.equals(plus)) { plus(); } if (bronDerGebeurtenis.equals(reset)) { reset(); } if (bronDerGebeurtenis.equals(cos)) { cos(); } } public void display(int getal) { display1=display1+getal; tekstvak.setText(display1); } public void reset() { display1=""; tekstvak.setText(display1); } public void delen() { display2=display1; display1=""; bewerking = 4; } public void maal() { display2=display1; display1=""; bewerking = 3; } public void min() { display2=display1; display1=""; bewerking = 2; } public void plus() { display2=display1; display1=""; bewerking = 1; } public void cos() { double radialen = Integer.parseInt(display1); double resultaat = Math.cos(radialen); tekstvak.setText(""+resultaat); } public void gelijk() { switch (bewerking) { case 1:display1=""+(Integer.parseInt(display1)+Integer.parseInt(display2)); tekstvak.setText(display1); break; case 2:display1=""+(Integer.parseInt(display2)-Integer.parseInt(display1)); tekstvak.setText(display1); break; case 3:display1=""+(Integer.parseInt(display1)*Integer.parseInt(display2)); tekstvak.setText(display1); break; case 4:display1=""+(Integer.parseInt(display2)/Integer.parseInt(display1)); tekstvak.setText(display1); break; } } }