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

Leer eventos de teclado

Estas en el tema de Leer eventos de teclado en el foro de Java en Foros del Web. Quiero saber como hago para que un jdialog, vacio, me capture la pulsacion de ccualquier tecla X y me muestre en un JOptionPane la tecla ...
  #1 (permalink)  
Antiguo 05/03/2016, 10:07
 
Fecha de Ingreso: julio-2015
Mensajes: 15
Antigüedad: 9 años, 4 meses
Puntos: 0
Exclamación Leer eventos de teclado

Quiero saber como hago para que un jdialog, vacio, me capture la pulsacion de ccualquier tecla X y me muestre en un JOptionPane la tecla pulsada, es decir si pulso la tecla X desde mi teclado me mustre un show dialog diciendo que tecla pulse, en este caso "pulsaste la tecla X"

Gracias, espere su ayuda, soy nuevo en esto de java

psdta: uso netbeans pq la aplicacion lleva interfaz grafica
  #2 (permalink)  
Antiguo 05/03/2016, 12:29
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 3 meses
Puntos: 182
Respuesta: Leer eventos de teclado

Buenas,

Lo mas sencillo es que tu Dialog implemente un KeyListener:

Código Java:
Ver original
  1. public class MiDialog implements KeyListener

Luego anades el listener al dialog (que es este caso seria la misma instancia):

Código Java:
Ver original
  1. addKeyListener(this);

Y por ultimo implementas el metodo para capturar la pulsacion y mostrar el jOptionPane:

Código Java:
Ver original
  1. public void keyPressed(KeyEvent event) {
  2.         //Mostrar en el jOptionPane el event.getKeyCode()
  3.     }

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #3 (permalink)  
Antiguo 05/03/2016, 14:09
 
Fecha de Ingreso: julio-2015
Mensajes: 15
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Leer eventos de teclado

Amigo ya lo hice en una clase java, pero al momento de hacerlo en una clase swing (JDialog Form)
no se como implementar ese keylinstener, me podrias decir debajo de que o arriva de lo agrego? casi no menejo la lo de JDialogs,
Gracias
  #4 (permalink)  
Antiguo 11/03/2016, 12:22
 
Fecha de Ingreso: enero-2009
Ubicación: Kandor
Mensajes: 209
Antigüedad: 15 años, 9 meses
Puntos: 11
Respuesta: Leer eventos de teclado

public class MiDialog extends JDialog implements KeyListener
  #5 (permalink)  
Antiguo 17/03/2016, 22:10
 
Fecha de Ingreso: abril-2015
Ubicación: Guadalajara
Mensajes: 6
Antigüedad: 9 años, 6 meses
Puntos: 0
Respuesta: Leer eventos de teclado

Si implementas la interface Keylistener, vas a tener que implementar los 3 métodos de la interfaz
Cuando presionas una tecla.
Cuando la mantienes
Cuando la dejas de presionar

Yo te recomiendo que hagas los siguiente, en tu cosntructor y en caso que heredes de JDialog

Código Java:
Ver original
  1. public constructor(){
  2.  
  3. this.addKeyListener(new java.awt.event.KeyAdapter()  {
  4.             @Override//sobreescribes un metodo
  5.             public void keyReleased(java.awt.event.KeyEvent evt){
  6.                 try {
  7.                     typed(evt);//metodo que sera llamado en vez de KeyReleased
  8.                 } catch (InterruptedException ex) {
  9.                    
  10.                 }
  11.             }
  12.         });
  13. }

Y ya mas abajo escribes el método typed, que se puede llamar como quieras

Código Java:
Ver original
  1. private void typed(KeyEvent e)
  2.     {
  3.        
  4.         char a = e.getKeyChar();//retorna el caracter presionado
  5.  
  6. }

y por ultimo, dentro del método, creas el JOptionpane con el caracter cachado

Etiquetas: eventos, 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




La zona horaria es GMT -6. Ahora son las 20:26.