이 글의 예제에서는 주로 Java에서 마우스를 드래그하여 선을 그리는 기능을 구현합니다. 선을 그리는 기능을 구현하기 위해 각각 MouseListener 및 MouseMotionListener를 구현하고 mousePressed를 통해 마우스 드래그의 시작 및 끝 좌표를 얻습니다. () 및 마우스릴리스(). 이는 Java 마우스 이벤트를 마스터하는 좋은 예입니다.
구체적인 구현 코드는 다음과 같습니다.
import java.awt.*;import java.awt.event.*;import javax.swing.*;public class MouseDemo는 JFrame 구현 MouseListener, MouseMotionListener { int flag; //flag=1은 마우스 이동을 나타내고, flag=2는 마우스를 나타냅니다. Draged int x = 0; int y = 0; int startx, starty, endx, endy;//시작 좌표 및 끝 좌표 공개 MouseDemo() { 컨테이너 contentPane = getContentPane(); contentPane.addMouseMotionListener(this); 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 e) { 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; 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()); //현재 창 내용 지우기 Paint(g) } public void Paint(Graphics g) { g.setColor(Color.black); if (flag == 1) { g.drawString("마우스 좌표: (" + x + "," + y + ")", 10, 50); , 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() }}
선 그리기 과정에서 프로그램은 끌 때 마우스 좌표를 표시합니다. 독자는 또한 자신의 필요에 따라 프로그램을 수정하고 개선하여 보다 실용적으로 만들 수 있습니다.