[java] 자바 스윙 컴포넌트에서 마우스 포인터의 위치를 추적하는 방법은 어떻게 되나요?
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class MouseTracker extends JFrame {
    private JPanel panel;

    public MouseTracker() {
        panel = new JPanel();
        add(panel);

        // Mouse 이벤트 핸들링
        panel.addMouseListener(new MouseListener() {
            @Override
            public void mouseClicked(MouseEvent e) {
                // 마우스를 클릭했을 때의 동작
            }

            @Override
            public void mousePressed(MouseEvent e) {
                // 마우스 버튼을 눌렀을 때의 동작
            }

            @Override
            public void mouseReleased(MouseEvent e) {
                // 마우스 버튼을 뗐을 때의 동작
            }

            @Override
            public void mouseEntered(MouseEvent e) {
                // 마우스 컴포넌트에 진입했을 때의 동작
            }

            @Override
            public void mouseExited(MouseEvent e) {
                // 마우스 컴포넌트를 벗어났을 때의 동작
            }
        });

        // Mouse 모션 이벤트 핸들링
        panel.addMouseMotionListener(new MouseMotionListener() {
            @Override
            public void mouseDragged(MouseEvent e) {
                // 마우스를 드래그할 때의 동작
            }

            @Override
            public void mouseMoved(MouseEvent e) {
                int x = e.getX(); // x 좌표
                int y = e.getY(); // y 좌표
                System.out.println("마우스 위치: x=" + x + ", y=" + y);
            }
        });

        setTitle("Mouse Tracker");
        setSize(300, 200);
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setLocationRelativeTo(null);
    }

    public static void main(String[] args) {
        MouseTracker mt = new MouseTracker();
        mt.setVisible(true);
    }
}

위의 예시 코드는 JPanel 내에서 마우스 이벤트를 처리하고, 마우스 위치를 콘솔에 출력하는 방법을 보여줍니다. MouseListener 및 MouseMotionListener를 구현하여 마우스 이벤트를 처리하고, 마우스 포인터의 위치를 추적할 수 있습니다.

참고 자료: