Foros del Web » Programación para mayores de 30 ;) » Java »

[SOLUCIONADO] Activar/ desactivar mouseClicked()

Estas en el tema de Activar/ desactivar mouseClicked() en el foro de Java en Foros del Web. Buenas tardes: Estoy usando la función mouseClicked() en mi programa. El problema que tengo es que si hago click mientras se esta ejecutando una secuencia ...
  #1 (permalink)  
Antiguo 18/01/2014, 13:25
 
Fecha de Ingreso: octubre-2013
Mensajes: 31
Antigüedad: 10 años, 6 meses
Puntos: 0
Activar/ desactivar mouseClicked()

Buenas tardes:

Estoy usando la función mouseClicked() en mi programa.

El problema que tengo es que si hago click mientras se esta ejecutando una secuencia del código, el programa se cae.

Por eso me gustaría saber si existe alguna forma de bloquear al ratón temporalmente cuando se ejecuta el código conflictivo y liberarlo inmediatamente después.

Un saludo y gracias anticipadas
  #2 (permalink)  
Antiguo 18/01/2014, 13:49
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Activar/ desactivar mouseClicked()

Es más fácil poner un if dentro del mouseClicked() de forma que si se está ejecutando el código, haces un return directamente.

Otra opción es quitar el listener (método removeMouseListener() ) para que así no se llame a tu mouseClicked() cuando se pulse el ratón.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 18/01/2014, 14:04
 
Fecha de Ingreso: octubre-2013
Mensajes: 31
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Activar/ desactivar mouseClicked()

Hola chuidiang:

Gracias por la respuesta:

Al final he optado por la opción del if, desconozco como implementar removeMouseListener().

La solución no es optima por qué vuelve a repetir fragmentos del código que no debería y tendría que poner más de 20 if con su variable de referencia para evitarlo.

salu2s

Última edición por anthony20; 18/01/2014 a las 16:51
  #4 (permalink)  
Antiguo 19/01/2014, 03:43
 
Fecha de Ingreso: octubre-2013
Mensajes: 31
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Activar/ desactivar mouseClicked()

Buenos días:

¿Hay alguna forma de obtener los datos de la posición del último click, sin necesidad de usar un void mouseClicked() que produzca saltos de código?

Quiero algo así como:

Código:
int x = 0; //almacena el valor de la posición x del último click
int y = 0;  //almacena el valor de la posición y del último click
byte control = 0; // Permite identificar el pulsador
boolean click=false; // permite saber que un click ha sido realizado
________________
if(clickX != x || clickY != y)  // clickX y clickY tendrían que dar el valor de la posición del último click
{
x = clickX;
y = clickY;
click=true;
}

__________

if (click== true)
{
click=false;
if(x>15 && x<30 && y>50 && y<65) // pulsador 1
{
control=1;
}

if(x>40 && x<55 && y>50 && y<65) // pulsador 2
{
control=2;
}

if (control>0)
{
actuador(); // función encargada de hacer las funciones correspondientes al click
}

}
Salu2s

Última edición por anthony20; 19/01/2014 a las 03:48

Etiquetas: desactivar, programa
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:59.