아래 코드에서 마우스 수신기를 사용하여 마우스의 XY 좌표를 얻은 다음 다시 칠하기를 요청했습니다. 페인트 방법 내에서 위치에 대해 동일한 XY 좌표를 사용하여 사각형을 그렸습니다. 사각형은 마우스 포인터에서 멀어 지지만 따라옵니다. 직사각형의 왼쪽 위 모서리가 마우스 포인터를 터치 할 것으로 예상됩니다.Graphic2D 객체가 Java에서 마우스 포인터를 정확히 따라 가게하려면 어떻게해야합니까?
내가 잘못 했나요?
왜 내 마우스 포인터와 Rectangle 객체 사이에 거리가 있습니까? 이 혼동 될 수 있도록
public void mouseMoved(MouseEvent e){
x = e.getX();
y = e.getY();
repaint();
}
public class Canvas extends JPanel{
Canvas(){}
public void paint(Graphics g){
Graphics2D g2 = (Graphics2D)g;
g2.setPaint(Color.red);
g2.fillRect(x, y, 50, 50);
}
}
맞음, 프레임에 MouseListener를 추가하고있었습니다. 다른 조언과 정보도 주셔서 감사합니다. –