[JAVA] Utiliser MouseListener avec le traitement

Qu'est-ce que MouseListener?

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

Une interface d'écoute pour recevoir des événements souris "liés" (appuyer, relâcher, cliquer, se concentrer, perdre le focus) sur un composant. Utilisez MouseMotionListener pour suivre les mouvements et les glissements de la souris.

Pour résumer brièvement, c'est une interface qui détecte les clics de souris et les traînées.

Méthode de mise en œuvre

Les classes liées à la gestion des événements de souris implémentent cette interface (et toutes les méthodes qu'elle contient) ou étendent la classe abstraite MouseAdapter (ne remplacent que les méthodes pertinentes).

Les objets d'écoute créés à partir de cette classe sont enregistrés auprès du composant à l'aide de la méthode addMouseListener du composant.

  1. Implémentez l'interface MouseListener ou étendez le MouseAdapter.
  2. Enregistrez-vous avec le composant en utilisant la méthode ʻaddMouseListener`.

Le processus en 2. est écrit comme "enregistré", mais vous devez en fait l'écrire vous-même.

MouseListener en 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){
  }
}

Source: Méthode de traitement des événements en Java - Traitement des événements - Introduction à l'applet Java --JavaDrive

Avec ceci comme référence, créons une classe qui implémente également l'interface MouseListener dans Processing.

ʻAddMouseListener est une méthode de java.awt.Component`.

public void addMouseListener(MouseListener l)

Ajoute l'écouteur de souris spécifié pour recevoir les événements de souris de ce composant.

Source: Composant (Java Platform SE 8)

Écrivons avec Processing

this.surface.getNative () retourne une instance de processing.awt.PSurfaceAWT.SmoothCanvas. C'est une sous-classe de java.awt.Component, donc vous pouvez faire ʻaddMouseListener`.

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

Utiliser MouseListener avec le traitement
Utilisez java.time avec Jackson
Utilisez Interceptor au printemps
Utiliser OpenCV avec Java
Utiliser des images avec des rails
Utiliser PostgreSQL dans Scala
Utiliser PreparedStatement en Java
Traitement d'écriture dans IntelliJ IDEA
Traitement parallèle mesuré avec Java
Traitement du jugement Mazume dans la pêche
Utilisez plusieurs cases à cocher dans Rails6!
Appui simultané sur une touche en traitement
Comment utiliser Lombok au printemps
Essayez d'implémenter le traitement asynchrone dans Azure
Utiliser le constructeur avec des arguments dans cucumber-picocontainer
Traitement de la date en Java (LocalDate: Initialization)
Utilisons Twilio en Java! (Introduction)
[Rails] Utiliser des cookies en mode API
[Java] N'utilisez pas "+" dans append!
Utilisez des clés composites dans Java Maps.
Utiliser le plugin Findbugs dans Eclipse
[Traitement × Java] Comment utiliser les variables
Implémentation du traitement asynchrone dans Tomcat
Comment utiliser InjectorHolder dans OpenAM
Technique de self-pipe utile pour le traitement IO.select
Comment utiliser les classes en Java?
Utiliser la complétion dans Eclipse sur Mac
A propos du traitement de la copie de fichiers en Java
Ordre de traitement dans le programme
Solution de contournement d'adresse déjà utilisée (Windows)
[Traitement × Java] Comment utiliser les tableaux
Utilisez-vous Stream en Java?
[Cloud9] Adresse déjà utilisée [Solution]
Prise en charge multilingue de Java Comment utiliser les paramètres régionaux
Utilisez OpenCV_Contrib (ArUco) avec Java! (Partie 2-Programmation)
Erreur peu claire rencontrée dans le traitement des annotations * Non résolu
[Docker] Utiliser des variables d'environnement dans Nginx conf
Comment utiliser le volume nommé dans docker-compose.yml
Utiliser des opérateurs de comparaison d'inégalités dans MyBatis SQL
Implémentation du traitement asynchrone compatible multi-tenant dans Tomcat
Utiliser docker dans un environnement proxy sur ubuntu 20.04.1
[Java] Utiliser la technologie cryptographique avec les bibliothèques standard
[Traitement × Java] Comment utiliser la boucle
Comment utiliser Docker dans VSCode DevContainer
Comment utiliser MySQL dans le didacticiel Rails
Utilisez "Rhino" qui exécute JavaScript en Java
Utiliser la méthode de requête DynamoDB avec Spring Boot
Traitement des threads de l'interface utilisateur asynchrone Android
[Traitement × Java] Comment utiliser la classe
[Traitement × Java] Comment utiliser la fonction
Comment utiliser les variables d'environnement dans RubyOnRails
Je veux utiliser @Autowired dans Servlet
Comment implémenter le traitement asynchrone dans Outsystems
Comprendre en 5 minutes !! Comment utiliser Docker
Comment utiliser credentials.yml.enc introduit à partir de Rails 5.2
Procédure d'utilisation de JConsole avec Cognos Analytics