import java.applet.Applet;
import java.awt.*;

public class Tapahtuu extends Applet {

  // testitulostuksiin:
  private void TulostaSinneJaTanne(String ilmoitus) {
    System.out.println(ilmoitus); // konsolille
    showStatus(ilmoitus);         // selaimen tilariville
  }

  public void init() {
   TulostaSinneJaTanne("init-tapahtuma");
  }

  public void paint(Graphics g) {
    TulostaSinneJaTanne("paint-tapahtuma");
    g.drawRect(0, 0, size().width - 1, size().height - 1);
    g.drawString("Katso konsolilta mitä tapahtuu!", 5, 20);
    g.drawString("Katso tilariviltä mitä tapahtuu!", 5, 40);
  }

  public void start() {
    TulostaSinneJaTanne("start-tapahtuma");
  }

  public void stop() {
    TulostaSinneJaTanne("stop-tapahtuma");
  }

  public void destroy() {
    TulostaSinneJaTanne("destroy-tapahtuma");
  }

  public void update(Graphics g) {
    TulostaSinneJaTanne("update-tapahtuma");
  }

  public boolean mouseUp(Event e, int x, int y) {
    TulostaSinneJaTanne("mouseUp-tapahtuma: ("+x+","+y+")");
    return false;
  }

  public boolean mouseDown(Event e, int x, int y) {
    TulostaSinneJaTanne("mouseDown-tapahtuma: ("+x+","+y+")");
    return false;
  }

  public boolean mouseDrag(Event e, int x, int y) {
    TulostaSinneJaTanne("mouseDrag-tapahtuma: ("+x+","+y+")");
    return false;
  }

  public boolean mouseMove(Event e, int x, int y) {
    TulostaSinneJaTanne("mouseMove-tapahtuma: ("+x+","+y+")");
    return false;
  } 

  public boolean mouseEnter(Event e, int x, int y) {
    TulostaSinneJaTanne("mouseEnter-tapahtuma: ("+x+","+y+")");
    return false;
  }

 public boolean mouseExit(Event e, int x, int y) {
    TulostaSinneJaTanne("mouseExit-tapahtuma: ("+x+","+y+")");
    return false;
  }

  public boolean keyDown(Event e, int x) {
    TulostaSinneJaTanne("keyDown-tapahtuma: merkki "
                        +(char)x+", merkkikoodi "+x);
    return false;
  }
} 

