如何根据窗口移动更改坐标?

时间:2014-04-30 16:39:01

标签: java swing jframe mouselistener

我的代码相当长,但并不是我担心的全部内容。 这是Java。

有问题的课程位于:http://pastebin.com/5G6QLLBf

如果需要,可以发布或通过电子邮件发送整个代码。

当我运行该程序时,我在当前点击时设置的2D数组中相对于JPanels检查鼠标位置的当前方法具有以下功能:

(Evt.getLocationOnScreen().x - (Correction from the distance of panels to edge of JFrame) - evt.GetX() - (The Distance between panels))/(The width of the panels)

与y(具有几个不同的数字)相同,得到的2个整数值等于JPanel在数组中的位置。

但是,当通过拖动顶部栏移动窗口/ JFrame时,它无法正确找到面板,因为其中一个常量无法正确。如何校正窗口移动?或者至少得到窗口移位量的值?

2 个答案:

答案 0 :(得分:0)

如果您需要的只是鼠标光标在您自己的JFrame中的位置,则无需翻译getLocationOnScreen()给您的坐标。 java.awt.MouseInfo可以帮助您获得所需内容:

Point p = MouseInfo.getPointerInfo().getLocation();
double x = p.getX();
double y = p.getY();

答案 1 :(得分:0)