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

Control de teclado

Estas en el tema de Control de teclado en el foro de Java en Foros del Web. No puedo controlar las flechas del teclado, (Izquierda, arriba, derecha, abajo). Quiero que al dar clic en las flechas haga algo. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Java: ...
  #1 (permalink)  
Antiguo 19/02/2015, 21:04
Avatar de soy_nicanor  
Fecha de Ingreso: mayo-2010
Mensajes: 374
Antigüedad: 14 años, 7 meses
Puntos: 3
Control de teclado

No puedo controlar las flechas del teclado, (Izquierda, arriba, derecha, abajo).
Quiero que al dar clic en las flechas haga algo.

Código Java:
Ver original
  1. char teclap = evt.getKeyChar();
  2.         if(teclap == KeyEvent.VK_RIGHT){
  3.             jTable1.changeSelection(0, 0, false, false);
  4.             jTable1.requestFocus();
  5.         }

Pero si me funciona el VK_ENTER, VK_ESCAPE, VK_2.

Pero con las flechas o f1, f2,...f12 No me funciona
__________________
Muy Feliz
  #2 (permalink)  
Antiguo 19/02/2015, 22:36
 
Fecha de Ingreso: febrero-2015
Mensajes: 1
Antigüedad: 9 años, 10 meses
Puntos: 0
Respuesta: Control de teclado

Debes de usar el siguiente codigo, en este código lo que analizas es el numero de tecla.
Código HTML:
Ver original
  1. http://help.adobe.com/es_ES/AS2LCR/Flash_10.0/help.html?content=00000525.html
en este link puedes ver el valor de cada tecla.

Código Java:
Ver original
  1. int teclap = evt.getKeyCode();
  2.         if(teclap == 37){
  3.             System.out.println("Tecla flecha izquierda");
  4.         }
  #3 (permalink)  
Antiguo 19/02/2015, 23:49
Avatar de soy_nicanor  
Fecha de Ingreso: mayo-2010
Mensajes: 374
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Control de teclado

Nada no me funciona, sera por que estoy con Netbeans??

Código Java:
Ver original
  1. int teclap = evt.getKeyCode();
  2.         if(teclap == 40){
  3.             System.out.println("Tecla flecha izquierda");
  4.         }
__________________
Muy Feliz
  #4 (permalink)  
Antiguo 20/02/2015, 01:34
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 4 meses
Puntos: 182
Respuesta: Control de teclado

Buenas,

Esto te tiene que funcionar:

Código Java:
Ver original
  1. if (event.getKeyCode() == KeyEvent.VK_UP) {
  2. ...
  3. }
  4.  
  5. if (event.getKeyCode() == KeyEvent.VK_DOWN) {
  6. ...
  7. }
  8.  
  9. if (event.getKeyCode() == KeyEvent.VK_RIGHT) {
  10. ...
  11. }
  12.  
  13. if (event.getKeyCode() == KeyEvent.VK_LEFT) {
  14. ...
  15. }

Si no lo hace es que no estas capturando bien el evento. Estas imprimiendo por la salida standard el codigo de tecla que se produce en cada pulsacion?

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #5 (permalink)  
Antiguo 20/02/2015, 06:55
Avatar de soy_nicanor  
Fecha de Ingreso: mayo-2010
Mensajes: 374
Antigüedad: 14 años, 7 meses
Puntos: 3
Respuesta: Control de teclado

No me funciona.
Entonces Como debo capturar por la entrada, Estoy trabajando con Netbeans 7.1
__________________
Muy Feliz
  #6 (permalink)  
Antiguo 20/02/2015, 07:12
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 4 meses
Puntos: 182
Respuesta: Control de teclado

Que utilices Netbeans, Eclipse, IntelliJ o el bloc de notas no tiene ningun impacto.

Cuando dices que no funciona que es lo que pasa. Te da algun error? Cual? Te entra en el metodo del listener?

Tienes que postear el codigo completo para ver como lo estas haciendo. Implementas KeyListener?

Aqui tienes un ejemplo:
http://docs.oracle.com/javase/tutori...EventDemo.java


Un saludo
__________________
If to err is human, then programmers are the most human of us

Etiquetas: control, jtable, teclado
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 12:34.