// Aufgabe: Schreiben Sie ein Programm, das... /* * 1. Ein Fenster Öffnet * 2. Einen MouseMotionListener, der bei gedrückter * Maustaste einen Punkt an die aktuelle * Mausposition setzt, dem Fenster hinzufügen * 3. Beim Klick auf den "Schließen"-Button * soll sich das Programm beenden. */ import java.awt.*; import java.awt.event.*; public class Zeichnen { static final Frame f = new Frame("Zeichnen"); static final MouseMotionListener ml = new MouseMotionAdapter(){ // Bewegungs-Event public void mouseMoved(MouseEvent e){ System.out.println("Mausbewegung: X=" + e.getX() + ", Y=" + e.getY() ); } // Bewegungs-Event bei GEDRÜCKTER Maustaste public void mouseDragged(MouseEvent e){ System.out.println("Mausziehen: X=" + e.getX() + ", Y=" + e.getY() ); // Wir brauchen zum Zeichnen ein Graphics-Objekt. // Dieses erhalten wir, indem wir nachschauen, // in welchem Objekt der Event auftritt, Object o = e.getSource(); // cast nach "Frame" (wg. getGraphics()) Frame f = (Frame) o; // Grafik-Objekt holen Graphics g = f.getGraphics(); // ... und zeichnen! g.fillOval(e.getX(), e.getY(), 4 , 4 ); } }; static final WindowListener wl = new WindowAdapter(){ public void windowClosing(WindowEvent e){ System.out.println("Programm-Ende"); System.exit(0); } }; // Wir schreiben die ganze Initialisierung in den // Konstruktor! public Zeichnen(){ f.setSize(600,450); f.setVisible(true); f.addMouseMotionListener(ml); f.addWindowListener(wl); } public static void main(String[] args) { new Zeichnen(); } }