我正在尝试计算我在一个盒子里移动鼠标的距离,我使用MouseEvent.getX()和MouseEvent.getY()来计算鼠标的起始位置,然后我有另一种方法来保存位置并计算鼠标移动的距离。这是我写的一些代码来演示这个。
BlankArea.addMouseMotionListener(new MouseMotionListener(){
@Override
public void mouseMoved(MouseEvent mm){
System.out.println("Position (" + mm.getX() + ", "
+ mm.getY() + ")");
savePosition(mm.getX(), mm.getY());
}
@Override
public void mouseDragged(MouseEvent md) {
System.out.println("Position (" + mm.getX() + ", "
+ mm.getY() + ")");
savePosition(mm.getX(), mm.getY());
}
});
我的问题是:Java API声明getX()& getY()返回水平&分别相对于源组件的垂直坐标。什么是源组件?在?
中测量的输出坐标是多少单位答案 0 :(得分:4)
欢迎使用Stack Overflow ... 源组件实际上是您为侦听器编写的组件,输出坐标以像素为单位测量......
我希望这会有所帮助......如果您仍有疑问,请询问他们......
答案 1 :(得分:1)
回答你的问题:
1)源组件是什么?
就像Mr.777所说,它是你添加听众的组件,因此在你的例子中它是BlankArea
。
2)测量的输出坐标是什么单位?
就像Mr.777所说,它们是以像素为单位测量的,原点(0,0)位于组件的左上角。
我建议在线阅读一些Java教程。这是一个查看Java坐标系Coordinates (Java Tutorial)的好页面。