Java - Eventos de teclado en aplicación de consola

 
Vista:

Eventos de teclado en aplicación de consola

Publicado por sci001 (2 intervenciones) el 08/10/2018 11:24:17
Buenas,

Me gustaría saber si es posible detectar cuando una tecla se pulsa y se suelta (keyPressed y keyReleased) en una aplicación en java que corre en la consola de windows (cmd).

Mi idea es tener un bucle infinito corriendo y que se saliese al detectar una tecla específica pulsada. He leído que esto se puede hacer mediante un keyListener, pero al parecer está pensado para una GUI. Es posible detectar si hay teclas pulsadas de alguna otra manera en Java? Y si no es así existe alguna otra manera de salirse del bucle de una manera controlada y que luego vuelva?

Gracias de antemano y un saludo.
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

Eventos de teclado en aplicación de consola

Publicado por juan (43 intervenciones) el 09/10/2018 04:43:27
La API de Java no provee ninguna librería que te permita hacer eso, pero C/C++ sí. Por lo que siempre puedes crear un pequeño programa con C/C++ que haga éste trabajo e integrarlo a tu proyecto usando métodos nativos (JNI), pero hacer esto es un dolor de cabeza de tutoriales, errores, problemas y más problemas haha, nunca pude hacer mi HolaMundo desde C++; cuando no era una cosa era otra.
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

Eventos de teclado en aplicación de consola

Publicado por sci001 (2 intervenciones) el 09/10/2018 08:13:29
En ese caso igual tiro por el tema de concurrencia, crear un thread del bucle infinito y otro thread con las demás tareas.

Gracias por la respuesta
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