我需要在浮点或双精度的鼠标点击位置,如何做呢?在鼠标侦听器,我走点这样的,

e.getPoint();

但点对象的x和y的值是整数,我需要在浮点或双精度的位置。 任何帮助将不胜感激。

修改我需要精确的分辨率。

有帮助吗?

解决方案

getPoint()给你整数值,因为这是在其中指定的坐标的精度。请参见 http://java.sun.com /j2se/1.4.2/docs/api/java/awt/Point.html

为什么你需要浮点值?

修改:响应您的评论,您需要将您的映射绝对位置在屏幕像素,使用像地板函数(总是向下取整)或轮(到最近INT)。该系统具有无的0.2像素或任何类似的概念。您可以不断地截断小数部分的计算,或者保持精确坐标在所有时间,并根据需要将它们映射到像素。

其他提示

int你应该能够转换为doublefloat没有任何问题:

double x = e.getPoint().x;
double y = e.getPoint().y;

有然而已经做到这一点的方法:

double x = e.getPoint().getX();
double y = e.getPoint().getY();

我失去了一些东西在这里?

请注意,该精度不会更高 - 小鼠只能捕捉到完整像素,因此通常整数是好的。但是,如果你需要根据这些值来计算,浮点表示可能是有用的。

您不能得到更精确的点,然后getPoint(),至极返回,只有拥有两个整数的Point对象。 什么想实现这个?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top