在下面的代码中,我只是使用鼠标侦听器来获取鼠标的 XY 坐标,然后调用重绘。在paint 方法中,我使用相同的XY 坐标作为位置绘制了一个矩形。矩形确实跟随但距离鼠标指针有一段距离。我希望矩形的左上角可以触摸鼠标指针。
难道我做错了什么?
为什么我的鼠标指针和 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);
}
}