Pregunta

necesito tomar la posición de clic del ratón en el flotador o doble, ¿cómo puedo hacer eso? En detector de ratón, tomo el punto como este,

e.getPoint();

pero X e Y los valores de punto del objeto son enteros, necesito posición en flotador o doble. Cualquier ayuda será apreciada.

Editar Necesito resolución exacta.

¿Fue útil?

Solución

getPoint() le da valores enteros porque esa es la precisión en el que se especifican las coordenadas. Ver http://java.sun.com /j2se/1.4.2/docs/api/java/awt/Point.html .

¿Por qué necesitan los valores de punto flotante?

Editar : en respuesta a su comentario, tendrá que asignar sus posiciones absolutas a píxeles en pantalla, utilizando una función como piso (siempre redondeando hacia abajo) o redonda (int ronda a más cercano). El sistema no tiene noción de 0,2 píxeles o algo por el estilo. O se puede truncar continuamente la parte decimal de sus cálculos, o mantener las coordenadas exactas en todo momento y asignarlos a los píxeles según sea necesario.

Otros consejos

De int usted debería ser capaz de lanzar a double o float sin ningún problema:

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

No obstante son métodos que ya hacen lo siguiente:

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

Me estoy perdiendo algo aquí?

Tenga en cuenta que la precisión no será mayor - el ratón sólo puede Ajustar a píxeles completos, por lo tanto, generalmente entero está muy bien. Pero si es necesario calcular en base a estos valores, las representaciones de coma flotante pueden ser útiles.

No se puede conseguir un punto más precisa a continuación getPoint(), cosa que devuelve un objeto Point que sólo tiene dos números enteros. ¿Qué le gustaría lograr con esto?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top