O exemplo neste artigo implementa principalmente a função de arrastar o mouse para desenhar linhas em Java. Para realizar a função de desenhar linhas, são usados os implementos MouseListener e MouseMotionListener respectivamente, e as coordenadas inicial e final do arrasto do mouse são obtidas por mousePressed. () e mouseReleased(). Este é um bom exemplo de domínio de eventos de mouse Java.
O código de implementação específico é o seguinte:
import java.awt.*;import java.awt.event.*;import javax.swing.*;public class MouseDemo estende JFrame implementa MouseListener, MouseMotionListener { int flag; Arrastado int x = 0; int y = 0; int startx, starty, endx, endy;//Coordenadas de início e coordenadas finais public MouseDemo() { Container contentPane = getContentPane(); addWindowListener(this); contentPane.addMouseMotionListener(this); {Sistema.exit(0); /*Obter as coordenadas de início e fim do arrastamento do mouse em mousePressed(), mouseReleased()*/ public void mousePressed(MouseEvent e) { startx = e.getX(); 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() obtém cada coordenada do movimento do mouse e chama o método repaint()*/ public void mouseMoved(MouseEvent e ) { bandeira = 1; x = e.getX(); y = e.getY(); mouseDragged(MouseEvent e) { flag = 2; x = e.getX(); y = e.getY(); g.fillRect(0, 0, getWidth(), getHeight()); //Limpa o conteúdo da janela atual paint(g } public void paint(Graphics g) { g.setColor(Color.black); if (flag == 1) { g.drawString("Coordenadas do mouse: (" + x + "," + y + ")", 10, 50); , starty, endx, endy } if (flag == 2) { g.drawString("Arraste a coordenada de preço do mouse: (" + x + "," + y + ")", 10, 50); g.drawLine(startx, starty, x, y); public static void main(String[] args) { new MouseDemo() }}
Durante o processo de desenho de linha, o programa exibirá as coordenadas do mouse ao arrastar. Os leitores também podem modificar e melhorar o programa de acordo com suas necessidades para torná-lo mais prático.