[JAVA] Verwenden Sie MouseListener für die Verarbeitung

Was ist MouseListener?

java.awt.event.MouseListener (Quelle: MouseListener (Java Platform SE 8) .html))

Eine Listener-Oberfläche zum Empfangen "verwandter" Mausereignisse (Drücken, Loslassen, Klicken, Fokus erhalten, Fokus verlieren) für eine Komponente. Verwenden Sie MouseMotionListener, um Mausbewegungen und -züge zu verfolgen.

Kurz zusammengefasst handelt es sich um eine Benutzeroberfläche, die Mausklicks und -züge erkennt.

Implementierungsmethode

Klassen, die sich auf die Behandlung von Mausereignissen beziehen, implementieren entweder diese Schnittstelle (und alle darin enthaltenen Methoden) oder erweitern die abstrakte Klasse MouseAdapter (überschreiben nur die relevanten Methoden).

Aus dieser Klasse erstellte Listener-Objekte werden mit der addMouseListener-Methode der Komponente bei der Komponente registriert.

  1. Implementieren Sie die MouseListener-Schnittstelle oder erweitern Sie den MouseAdapter.
  2. Registrieren Sie sich bei der Komponente mit der Methode addMouseListener.

Der Prozess in 2. wird als "registriert" geschrieben, aber Sie müssen ihn tatsächlich selbst schreiben.

MouseListener in Java

import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;

public class EventTest extends Applet implements MouseListener{
  public void init(){
    addMouseListener(this);
  }

  public void mouseEntered(MouseEvent e){
  }

  public void mouseExited(MouseEvent e){
  }

  public void mousePressed(MouseEvent e){
  }

  public void mouseReleased(MouseEvent e){
  }

  public void mouseClicked(MouseEvent e){
  }
}

Quelle: Ereignisverarbeitungsmethode in Java - Ereignisverarbeitung - Einführung in das Java-Applet - JavaDrive

Mit dieser Referenz erstellen wir eine Klasse, die die MouseListener-Schnittstelle auch in Processing implementiert.

addMouseListener ist eine Methode von java.awt.Component.

public void addMouseListener(MouseListener l)

Fügt den angegebenen Maus-Listener hinzu, um Mausereignisse von dieser Komponente zu empfangen.

Quelle: Komponente (Java Platform SE 8)

Schreiben wir mit Verarbeitung

this.surface.getNative () gibt eine Instanz von process.awt.PSurfaceAWT.SmoothCanvas zurück. Dies ist eine Unterklasse von java.awt.Component, also können Sie addMouseListener ausführen.

import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;
import java.awt.Component;

void setup() {
  size(300, 300);
  Component component = (Component) this.surface.getNative();
  component.addMouseListener(new MyMouseListener());
}

void draw() {
}

class MyMouseListener implements MouseListener {
  @Override
  public void mouseClicked(MouseEvent e) {
    println("Clicked");
  }

  @Override
  public void mouseEntered(MouseEvent e) {
    println("Entered");
  }

  @Override
  public void mouseExited(MouseEvent e) {
    println("Exited");
  }

  @Override
  public void mousePressed(MouseEvent e) {
    println("Pressed");
  }

  @Override
  public void mouseReleased(MouseEvent e) {
    println("Released");
  }
}

Recommended Posts

Verwenden Sie MouseListener für die Verarbeitung
Verwenden Sie java.time mit Jackson
Verwenden Sie Interceptor im Frühjahr
Verwenden Sie OpenCV mit Java
Verwenden Sie Bilder mit Schienen
Verwenden Sie PostgreSQL in Scala
Verwenden Sie PreparedStatement in Java
Schreibverarbeitung in IntelliJ IDEA
Gemessene Parallelverarbeitung mit Java
Mazume Urteilsverarbeitung in der Fischerei
Verwenden Sie mehrere Kontrollkästchen in Rails6!
Gleichzeitiger Tastendruck in der Verarbeitung
Wie man Lombok im Frühling benutzt
Versuchen Sie, die asynchrone Verarbeitung in Azure zu implementieren
Verwenden Sie den Konstruktor mit Argumenten in cucumber-picocontainer
Datumsverarbeitung in Java (LocalDate: Initialisierung)
Verwenden wir Twilio in Java! (Einführung)
[Rails] Verwenden Sie Cookies im API-Modus
[Java] Verwenden Sie nicht "+" im Anhang!
Verwenden Sie zusammengesetzte Schlüssel in Java Maps.
Verwenden Sie das Findbugs-Plugin in Eclipse
[Verarbeitung × Java] Verwendung von Variablen
Implementierung der asynchronen Verarbeitung in Tomcat
Verwendung von InjectorHolder in OpenAM
Self-Pipe-Technik, die bei der IO.select-Verarbeitung nützlich ist
Wie verwende ich Klassen in Java?
Verwenden Sie die Vervollständigung in Eclipse auf dem Mac
Informationen zur Dateikopierverarbeitung in Java
Reihenfolge der Verarbeitung im Programm
Problemumgehung für bereits verwendete Adressen (Windows)
[Verarbeitung × Java] Verwendung von Arrays
Verwenden Sie Stream in Java?
[Cloud9] Bereits verwendete Adresse [Lösung]
Mehrsprachige Unterstützung für Java Verwendung des Gebietsschemas
Verwenden Sie OpenCV_Contrib (ArUco) mit Java! (Teil 2-Programmierung)
Unklarer Fehler bei der Verarbeitung von Anmerkungen * Nicht behoben
[Docker] Verwenden Sie Umgebungsvariablen in Nginx conf
Verwendung des benannten Volumes in docker-compose.yml
Verwenden Sie Ungleichheitsvergleichsoperatoren in MyBatis SQL
Implementierung einer mandantenfähigen kompatiblen asynchronen Verarbeitung in Tomcat
Verwenden Sie Docker in einer Proxy-Umgebung unter Ubuntu 20.04.1
[Java] Verwenden Sie kryptografische Technologie mit Standardbibliotheken
[Verarbeitung × Java] Verwendung der Schleife
Verwendung von Docker in VSCode DevContainer
Verwendung von MySQL im Rails-Tutorial
Verwenden Sie "Rhino", das JavaScript in Java ausführt
Verwenden Sie die DynamoDB-Abfragemethode mit Spring Boot
Android Asynchrone UI-Thread-Verarbeitung
[Verarbeitung × Java] Verwendung der Klasse
[Verarbeitung × Java] Verwendung der Funktion
Verwendung von Umgebungsvariablen in RubyOnRails
Ich möchte @Autowired in Servlet verwenden
So implementieren Sie die asynchrone Verarbeitung in Outsystems
Verstehe in 5 Minuten !! Wie man Docker benutzt
Verwendung von credentials.yml.enc aus Rails 5.2
Schritte zur Verwendung von JConsole mit Cognos Analytics