import java.awt.*; import java.applet.*; import java.awt.event.*; public class stopur extends Applet implements ActionListener { Label label; // java.awt.Label Button startKnap; // java.awt.Button TextField tidFelt; // java.awt.TextField Button stopKnap; // java.awt.Button boolean iGang; long startTid; long stopTid; public void init() { iGang = false; label = new Label("STOP-UR"); add(label); // add()-metoden er arvet fra java.awt.Container.add() startKnap = new Button("Start"); startKnap.addActionListener(this); // java.awt.Button.addActionListener() add(startKnap); // add()-metoden er arvet fra java.awt.Container.add() tidFelt = new TextField(12); tidFelt.setBackground(Color.white); // metoden arvet fra java.awt.TextComponent.setBackground() tidFelt.setEditable(false); // setEditable()-metoden er arvet fra java.awt.TextComponent.setEditable() add(tidFelt); // add()-metoden er arvet fra java.awt.Container.add() stopKnap = new Button("Stop"); stopKnap.addActionListener(this); // java.awt.Button.addActionListener() add(stopKnap); // add()-metoden er arvet fra java.awt.Container.add() } // actionPerformed() skal implementeres, da appletten implementerer interfacet ActionListener, // og actionPerformed kaldes, når der trykkes på en af de 2 knapper public void actionPerformed(ActionEvent e) { // getSource()-metoden arvet fra java.util.EventObject.getSource(), som arver fra java.lang.Object Object obj = e.getSource(); if (obj == startKnap) { iGang = true; startTid = System.currentTimeMillis(); // java.lang.System.currentTimeMillis() tidFelt.setText("Uret er startet"); // setText()-metoden arvet fra java.awt.TextComponent.setText() repaint(); } else if (obj == stopKnap) { if (iGang) { iGang = false; stopTid = System.currentTimeMillis(); // java.lang.System.currentTimeMillis() // setText()-metoden arvet fra java.awt.TextComponent.setText() // (float) caster fra typen "long" (heltal) til typen "float" (decimaltal), // ellers vil division med 1000 være en heltalsdivision! // java.lang.Float.toString() tidFelt.setText("Tid: " + Float.toString(((float)(stopTid-startTid))/1000) + " s"); repaint(); } } } }