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

Problema con KeyEvent

Estas en el tema de Problema con KeyEvent en el foro de Java en Foros del Web. Bueno, tengo un problema al poner una condicion para cuando se presionen mas de 2 teclas a la vez, es decir: Esto anda perfectamente: Código: ...
  #1 (permalink)  
Antiguo 07/10/2010, 17:30
 
Fecha de Ingreso: febrero-2007
Mensajes: 141
Antigüedad: 17 años, 2 meses
Puntos: 1
Pregunta Problema con KeyEvent

Bueno, tengo un problema al poner una condicion para cuando se presionen mas de 2 teclas a la vez, es decir:

Esto anda perfectamente:

Código:
public void keyPressed(KeyEvent e) 
	    { 
	    	int tecla = e.getKeyCode();
	        if(tecla == e.VK_D) 
	        {
	        	bool = true;
	        	}
Pero si quiero hacer lo siguiente no funciona:

Código:
public void keyPressed(KeyEvent e) 
	    { 
	    	int tecla = e.getKeyCode();
	        if(tecla == e.VK_D & tecla == e.VK_F) 
	        {
	        	bool2 = true;
	        	}
No me toma la condicion, ya probe poniendo & o &&.

Espero una respuesta, gracias
  #2 (permalink)  
Antiguo 08/10/2010, 12:40
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Problema con KeyEvent

Aunque a ti te lo parezca, no puedes recoger la pulsación de dos teclas en un solo evento

Cita:
if(tecla == e.VK_D & tecla == e.VK_F)
Propiedad conmutativa

tecla = e.VK_D y tecla == e.VK_F => e.VK_D == e.VK_F

algo que evidentemente es falso.

Utiliza KeyPressed y KeyReleased

http://www.simplej.com/?q=node/42
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 08/10/2010, 19:57
 
Fecha de Ingreso: febrero-2007
Mensajes: 141
Antigüedad: 17 años, 2 meses
Puntos: 1
Respuesta: Problema con KeyEvent

Ya lo solucione haciendo un boolean para cada tecla..

Ahora tengo otra pregunta, necesito que al segundo de tener presionada una letra esta haga una especie de release y no funcione mas hasta que no se suelte la tecla.

Por ejemplo: mantengo apretada la letra A y no se ponga AAAAAAAAAAAAAAAAAAAAAA.. sino que por mas que tenga apretada la tome 1 sola vez y haga un release.

Etiquetas: keyevent
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 00:34.