L'exemple de cet article implémente principalement la fonction de glisser la souris pour tracer des lignes en Java Afin d'obtenir la fonction de dessin de lignes, les implémentations MouseListener et MouseMotionListener sont utilisées respectivement, et les coordonnées de début et de fin du glisser de la souris sont obtenues par mousePressed. () et mouseReleased(). C'est un bon exemple de maîtrise des événements de souris Java.
Le code d'implémentation spécifique est le suivant :
import java.awt.*;import java.awt.event.*;import javax.swing.*;public class MouseDemo étend JFrame implémente MouseListener, MouseMotionListener { int flag; //flag=1 représente la souris déplacée, flag=2 représente la souris Glissé int x = 0 ; int y = 0 ; int startx, starty, endx, endy ;//Coordonnées de début et coordonnées de fin publiques MouseDemo() { Conteneur contentPane = getContentPane(); contentPane.addMouseListener(this); contentPane.addMouseMotionListener(this); setSize(300, 300); addWindowListener(); { Système.exit(0); } } } /*Obtenir les coordonnées de début et de fin du déplacement de la souris depuis mousePressed(), mouseReleased()*/ public void mousePressed(MouseEvent e) { startx = e.getX(); starty = e.getY( } public void mouseReleased(); MouseEvent e) { endx = e.getX(); endy = e.getY(); } public void mouseEntered(MouseEvent e) { } public void mouseExited(MouseEvent e) { } public void mouseClicked(MouseEvent e) { } /*mouseMoved(),mouseDragged() obtient chaque coordonnée du mouvement de la souris et appelle la méthode repaint()*/ public void mouseMoved(MouseEvent e ) { flag = 1; x = e.getX(); y = e.getY(); mouseDragged(MouseEvent e) { flag = 2; x = e.getX(); y = e.getY(); } public void update(Graphics g) { g.setColor(this.getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); //Effacer le contenu de la fenêtre actuelle paint(g); public void paint(Graphics g) { g.setColor(Color.black); if (flag == 1) { g.drawString("Coordonnées de la souris : (" + x + "," + y + ")", 10, 50); , starty, endx, endy); } if (flag == 2) { g.drawString("Faites glisser la coordonnée du prix de la souris : (" + x + "," + y + ")", 10, 50); g.drawLine(startx, starty, x, y); } } public static void main(String[] args) { new MouseDemo( }}
Pendant le processus de dessin de ligne, le programme affichera les coordonnées de la souris lors du glissement. Les lecteurs peuvent également modifier et améliorer le programme selon leurs propres besoins pour le rendre plus pratique.