import java.awt.*; import java.awt.event.*; import javax.swing.*; public class Applet1 extends JApplet { String uitkomsten = ""; int aantalGetallen = 0; int totaalGetal = 0; int gemiddeldGetal = 0; public void init() { //{{INIT_CONTROLS getContentPane().setLayout(null); setSize(405,375); getContentPane().add(getalTekst); getContentPane().add(gemiddeldeKnop); getContentPane().add(uitkomstenVeld); getContentPane().add(getallenTekst); getContentPane().add(gemiddeldeTekst); getContentPane().add(uitlegTekst); uitlegTekst.setBounds(10,1,400,27); uitlegTekst.setText("Click the button to see the average of the shown numbers."); getalTekst.setBounds(160,22,50,24); getalTekst.setFont(new Font("Dialog", Font.BOLD, 14)); getalTekst.setForeground(java.awt.Color.blue); getallenTekst.setBounds(65,85,200,26); getallenTekst.setText(""); getallenTekst.setVisible(false); uitkomstenVeld.setBounds(105,110,130,200); gemiddeldeKnop.setBounds(105,50,130,30); gemiddeldeKnop.setLabel("Bereken Gemiddelde"); gemiddeldeTekst.setBounds(65, 310, 220, 26); gemiddeldeTekst.setText(""); gemiddeldeTekst.setVisible(false); uitkomstenVeld.setVisible(false); uitkomstenVeld.setEditable(false); starttimer(); //}} //{{REGISTER_LISTENERS SymAction lSymAction = new SymAction(); gemiddeldeKnop.addActionListener(lSymAction); //}} } //{{DECLARE_CONTROLS java.awt.Label getalTekst = new java.awt.Label(); java.awt.Button gemiddeldeKnop = new java.awt.Button(); java.awt.TextArea uitkomstenVeld = new java.awt.TextArea(); java.awt.Label getallenTekst = new java.awt.Label(); java.awt.Label gemiddeldeTekst = new java.awt.Label(); java.awt.Label uitlegTekst = new java.awt.Label(); //}} Timer timer; public void starttimer() { timer = new Timer(1000, timerAction); timer.start(); } public void restartTimer() { timer.restart(); } public void endAll() { timer.stop(); gemiddeldeTekst.setVisible(true); getallenTekst.setVisible(true); uitkomstenVeld.setText(uitkomsten); uitkomstenVeld.setVisible(true); getallenTekst.setText("De volgende " + aantalGetallen + " getallen zijn gebruikt:"); gemiddeldeTekst.setText("Het gemiddelde van deze getallen is: " + gemiddeldGetal + " (rounded)."); } ActionListener timerAction = new ActionListener() { public void actionPerformed(ActionEvent evt) { int randGetal = (int)(Math.random() * 100 + 0.5); totaalGetal = randGetal + totaalGetal; aantalGetallen++; String nieuweUitkomst = String.valueOf(randGetal); String oudeUitkomst = String.valueOf(uitkomsten); uitkomsten = oudeUitkomst + nieuweUitkomst + "\n"; gemiddeldGetal = totaalGetal / aantalGetallen; getalTekst.setText(String.valueOf(randGetal)); } }; class SymAction implements java.awt.event.ActionListener { public void actionPerformed(java.awt.event.ActionEvent event) { Object object = event.getSource(); if (object == gemiddeldeKnop) gemiddeldeKnop_ActionPerformed(event); } } void gemiddeldeKnop_ActionPerformed(java.awt.event.ActionEvent event) { if (uitkomsten.length() <= 0) { return; } if (!gemiddeldeKnop.getLabel().equals("Again")) { gemiddeldeKnop.setLabel("Again"); getalTekst.setVisible(false); endAll(); return; } gemiddeldeTekst.setVisible(false); getallenTekst.setVisible(false); uitkomstenVeld.setVisible(false); gemiddeldeKnop.setLabel("Bereken Gemiddelde"); uitkomsten = ""; aantalGetallen = 0; totaalGetal = 0; gemiddeldGetal = 0; getalTekst.setVisible(true); restartTimer(); } }