Java - Detectar pulsacion tecla

 
Vista:

Detectar pulsacion tecla

Publicado por Luis (8 intervenciones) el 10/09/2010 09:43:13
Buenos días.

Estoy haciendo una aplicación java de escritorio sin ninguna ventana (no hay awt por ningún lado). Esto es así porque no hace falta programar ningún aspecto visual al hacer su cometido automáticamente.

Resumiendo, que quiero programar algo para poder cerrar la aplicación sin problemas. Como no hay ninguna ventana, no puedo usar el evento de cierre de ventana y había pensado en detectar la pulsación de una tecla (ESC, por ejemplo) para iniciar el cierre de la aplicación.

De mis experiencias con Basic (qué recuerdos cuando trasteaba con el Amstrad!) recuerdo que no es algo difícil y además, en C también es sencillo. El caso es que en Java si no usas los eventos de AWT no hay manera.

Ya he probado el dichoso System.in, pero read() sólo devuelve algo si pulsas return y sólo funciona si enfocas la consola. Yo sólo quiero una forma de registrar las teclas que se pulsen durante la ejecución del software.

Perdón por extenderme tanto pero me parece increible que no hay una forma de "vigilar" el teclado con Java.

Gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Detectar pulsacion tecla

Publicado por Tom (1831 intervenciones) el 10/09/2010 11:38:40
O sea, que quieres capturar la pulsación de cualquier tecla en cualquier aplicación. Algo así como un "key logger" ¿no?.
Pues déjalo, porque no puedes y si pudieras, no deberías.

Para que el sistema dirija el buffer de teclado a tu aplicación, ésta, lógicamente, ha de tener el focus.

Prueba con la clase Console() y su Reader.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar