Пример в этой статье в основном реализует функцию перетаскивания мыши для рисования линий в Java. Для реализации функции рисования линий используются реализации MouseListener и MouseMotionListener соответственно, а начальная и конечная координаты перетаскивания мыши получаются с помощью mousePressed. () и mouseReleased(). Это хороший пример освоения событий мыши Java.
Конкретный код реализации выглядит следующим образом:
import java.awt.*;import java.awt.event.*;import javax.swing.*;публичный класс MouseDemo расширяет JFrame реализует MouseListener, MouseMotionListener { int flag; //flag=1 представляет перемещение мыши, flag=2 представляет мышь Перетащенное int x = 0; int y = 0; int startx, starty, endx, endy;//Начальные и конечные координаты public MouseDemo() { Container contentPane = getContentPane(); contentPane.addMouseListener(this); contentPane.addMouseMotionListener(this); setSize(300, 300); addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e) {Система.выход(0); } }); /*Получаем координаты начала и конца перетаскивания мыши из mousePressed(), mouseReleased()*/ public void mousePressed(MouseEvent e) { startx = e.getX(); starty = e.getY(); public void mouseReleased( MouseEvent е) { endx = e.getX(); endy = e.getY() } public void mouseEntered(MouseEvent e) {; } public void mouseExited(MouseEvent e) { } public void mouseClicked(MouseEvent e) { } /*mouseMoved(),mouseDragged() получаем каждую координату движения мыши и вызываем метод repaint()*/ public void mouseMoved(MouseEvent e ) {флаг = 1; х = 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()); //Очистка текущего содержимого окна Paint(g); } public void Paint(Graphics g) { g.setColor(Color.black); if (flag == 1) { g.drawString("Координаты мыши: (" + x + "," + y + ")", g.drawLine(startx); , starty, endx, endy); } if (flag == 2) { g.drawString("Перетащите координату цены мышью: (" + x + "," + y + ")", 10, 50); g.drawLine(startx, starty, x, y } } public static void main(String[] args) {new MouseDemo();
В процессе рисования линии программа будет отображать координаты мыши при перетаскивании. Читатели также могут модифицировать и улучшать программу в соответствии со своими потребностями, чтобы сделать ее более практичной.