java - 如何以精确的分辨率获得 float 或 double 的鼠标位置?

标签 java coordinates mouseevent point

我需要以浮点或 double 形式获取鼠标单击位置,我该怎么做?在鼠标监听器中,我像这样获取点,

e.getPoint();

但是 Point 对象的 x 和 y 值是整数,我需要 float 或 double 的位置。 任何帮助将不胜感激。

编辑 我需要精确的分辨率。

最佳答案

getPoint() 为您提供整数值,因为这是指定坐标的精度。请参阅http://java.sun.com/j2se/1.4.2/docs/api/java/awt/Point.html .

为什么需要浮点值?

编辑:为了响应您的评论,您需要使用诸如下限(始终向下舍入)或舍入(舍入到最近的整数)之类的函数将绝对位置映射到屏幕上的像素。系统没有 0.2 像素或类似的概念。您可以不断截断计算的小数部分,也可以始终保持精确的坐标并根据需要将它们映射到像素。

关于java - 如何以精确的分辨率获得 float 或 double 的鼠标位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2417425/

相关文章:

java - 绘图程序错误

java - Firebase 查询似乎不适用于 Android

java - 无法初始化类 org.eclipse.persistence.jaxb.BeanValidationHelper

mysql - ST_Area() 获取纬度和经度

Python - 将 GPS 位置批量转换为 Lat Lon 小数

javascript - JQuery .on ("click") 在触摸设备上触发 "mouseover"

javascript - Kinectisj : Issue where mouse trail remains(Layer issue)

java - 口水工作台 : How to call User defined static Java Method from Drool Rule

java - 使用 SpringBoot 和 Hibernate 与复合 pks 的双向 @OneToMany 关系

actionscript-3 - 数学 - 沿直线每隔一段时间获取 x 和 y 坐标