Mausaktionen

Für ein Zeichenprogramm müssen wir natürlich die Maus abfragen können:

package miniMalprogramm;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Mausaktionen extends JFrame {

  public static void main(String[] args) {

    Mausaktionen fenster = new Mausaktionen();

    fenster.setDefaultCloseOperation(EXIT_ON_CLOSE);
    fenster.setBounds(0, 0, 900, 500);
    fenster.setLocationRelativeTo(null);
    fenster.setAlwaysOnTop(true);
    fenster.setVisible(true);

    JPanel panel = new JPanel();
    fenster.add(panel);

    panel.addMouseListener(new MouseAdapter() {

      public void mousePressed(MouseEvent e) {
        System.out.println("Pressed Button " + e.getButton() + ": X:" + e.getX() + " Y:" + e.getY());
      }

      public void mouseClicked(MouseEvent e) {
        System.out.println("Clicked Button " + e.getButton() + ": X:" + e.getX() + " Y:" + e.getY());
      }

      public void mouseReleased(MouseEvent e) {
        System.out.println("Released Button " + e.getButton() + ": X:" + e.getX() + " Y:" + e.getY());
      }

      public void mouseEntered(MouseEvent e) {
        System.out.println("Entered " + e.getButton() + ": X:" + e.getX() + " Y:" + e.getY());
      }

      public void mouseExited(MouseEvent e) {
        System.out.println("Exited " + e.getButton() + ": X:" + e.getX() + " Y:" + e.getY());
      }

    });

    panel.addMouseMotionListener(new MouseAdapter() {
      public void mouseDragged(MouseEvent e) {
        System.out.println("Dragged X:" + e.getX() + " Y:" + e.getY());
      }

      public void mouseMoved(MouseEvent e) {
        System.out.println("Moved X:" + e.getX() + " Y:" + e.getY());
      }
    });
  }

}

MousePressed: Wird aufgerufen wenn eine Maustaste gedrückt wurde.
MouseReleased: Wird aufgerufen wenn eine Maustaste losgelassen wurde
MouseClicked: Wird aufgerufen wenn eine Maustaste geklickt – also gedrückt und anschließend losgelassen – wurde, ohne das sich die Position der Maus verändert hat
MouseEntered: Wird aufgerufen sobald die Maus eine Komponente wie z.B. ein Fenster betritt
MouseExited: Wird aufgerufen sobald die Maus eine Komponente verläßt.

MouseMoved: Wird aufgerufen bei jeder Bewegung der Maus
MouseDragged: Wird aufgerufen wenn die Maus bei einer gedrückten Maustaste bewegt wird.

nach dem Erstellen und Hinzufügen des JPanel’s in den Zeilen 20 und 21, fügen wir den MouseListener hinzu, der erstellt wird indem wir von der Klasse MouseAdapter (Zeile 23) eine neues Objekt erstellen dessen Methoden wir sofort überschreiben (Zeile 25 – 43).

Beim MouseMotionListener den wir ab Zeile 47 hinzufügen, gehen wir genauso vor.

Jetzt haben wir schon genug Wissen um ein kleines Mini-Malprogramm zu schreiben.
Aber jetzt gönnt euch erstmal einen Kaffee. Mit Keksen.
Dann legen wir los.