El ejemplo de este artículo implementa principalmente la función de arrastrar el mouse para dibujar líneas en Java. Para lograr la función de dibujar líneas, se utilizan los implementos MouseListener y MouseMotionListener respectivamente, y las coordenadas inicial y final del arrastre del mouse se obtienen mediante mousePressed. () y mouseReleased(). Este es un buen ejemplo de cómo dominar los eventos del mouse de Java.
El código de implementación específico es el siguiente:
import java.awt.*;import java.awt.event.*;import javax.swing.*;clase pública MouseDemo extiende JFrame implementa MouseListener, MouseMotionListener { int flag //flag=1 representa Mouse Moved, flag=2 representa Mouse Arrastrado int x = 0; int y = 0; int startx, starty, endx, endy;// Coordenadas iniciales y coordenadas finales públicas MouseDemo() { Contenedor contentPane = getContentPane(); contentPane.addMouseListener(this); contentPane.addMouseMotionListener(this); setSize(300, 300 show()); { Sistema.salir(0); /*Obtener las coordenadas de inicio y fin del arrastre del mouse desde 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() obtiene cada coordenada del movimiento del mouse y llama al método repaint()*/ public void mouseMoved(MouseEvent e) ) { bandera = 1; x = e.getX(); y = e.getY(); repintar(); mouseDragged(MouseEvent e) { flag = 2; x = e.getX(); y = e.getY(); repaint() } public void update(Gráficos g) { g.setColor(this.getBackground()); g.fillRect(0, 0, getWidth(), getHeight()); //Borrar el contenido de la ventana actual paint(g } public void paint(Graphics g) { g.setColor(Color.black); if (flag == 1) { g.drawString("Coordenadas del mouse: (" + x + "," + y + ")", 10, 50); , starty, endx, endy); } if (flag == 2) { g.drawString("Arrastre la coordenada del precio del mouse: (" + x + "," + y + ")", 10, 50); g.drawLine(startx, starty, x, y); } } public static void main(String[] args) { new MouseDemo();
Durante el proceso de dibujo lineal, el programa mostrará las coordenadas del mouse al arrastrar. Los lectores también pueden modificar y mejorar el programa según sus propias necesidades para hacerlo más práctico.