MouseEvent.getX()的Java.awt.component的起源

时间:2013-02-10 17:44:21

标签: java swing mouseevent mouselistener

我正在尝试计算我在一个盒子里移动鼠标的距离,我使用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()返回水平&分别相对于源组件的垂直坐标。什么是源组件?在?

中测量的输出坐标是多少单位

2 个答案:

答案 0 :(得分:4)

欢迎使用Stack Overflow ... 源组件实际上是您为侦听器编写的组件,输出坐标以像素为单位测量......

我希望这会有所帮助......如果您仍有疑问,请询问他们......

答案 1 :(得分:1)

回答你的问题:

1)源组件是什么?

就像Mr.777所说,它是你添加听众的组件,因此在你的例子中它是BlankArea

2)测量的输出坐标是什么单位?

就像Mr.777所说,它们是以像素为单位测量的,原点(0,0)位于组件的左上角。

我建议在线阅读一些Java教程。这是一个查看Java坐标系Coordinates (Java Tutorial)的好页面。