/*
Datei............: Aufg1407.java
Projekt..........: Einführung in die Java-Programmierung
Erstellt.........: 25.11.97, Guido Krüger
Geändert.........: --
Aufgabe..........: Musterlösung zu Aufgabe 14.07
Kommentare.......:

Um die aktuelle Mauszeigerposition zu ermitteln, definiert die
Klasse einen MouseMotionAdapter, der im Konstruktor durch Aufruf
von addMouseMotionAdapter aktiviert wird. Dessen Methode mouseMoved
wird immer dann aufgerufen, wenn innerhalb des Komponentenfensters
die Maus bewegt wird. Die innerhalb des Mausevents übergebene
Mausposition wird in die Instanzvariablen mousex und mousey 
geschrieben und durch Aufruf von repaint ausgegeben.
*/
import java.awt.*;
import java.awt.event.*;

public class Aufg1407
extends Frame
{
  //Instanzmerkmale
  int mousex;
  int mousey;

  public static void main(String[] args)
  {
	Aufg1407 wnd = new Aufg1407();
	wnd.setSize(300,200);
	wnd.setVisible(true);
  }

  public Aufg1407()
  {
	super("Grafikbeispiel");
	addWindowListener(
      new WindowAdapter() {
	    public void windowClosing(WindowEvent event) {
		  System.exit(0);
		}
	  }
	);
	addMouseMotionListener(new MyMouseMotionListener());
	setBackground(Color.lightGray);
	mousex = mousey = 0;
  }

  public void paint(Graphics g)
  {
	if (mousex != 0 || mousey != 0) {
	  g.setFont(new Font("Serif", 24, Font.PLAIN));
	  g.drawString("x = " + mousex + "   y = " + mousey, 10, 50);
	}
  }

  class MyMouseMotionListener
  extends MouseMotionAdapter
  {
	public void mouseMoved(MouseEvent e)
	{
	  mousex = e.getX();
	  mousey = e.getY();
	  repaint();
	}
  }
}


