ahora el teclado.. ayuda con KeyEventDispacher...

remoh
07 de Junio del 2004
Superados los problemas con el mouse, ahora viene los problemas con el teclado...

El caso es que quiero poder procesar los eventos de teclado desde una clasa que hereda de JPanel, quiero que se procesen aunque el foco este en otro componente. El caso es que he entrado ayuda por ahí que dice que se puede hacer añadiendo un KeyEventDispacher al KeyboardFocusManager.

Mi pregunta es, ¿de donde me saco el KeyboardFocusManager?, ni en JPanel ni en JComponent veo funciones que me devuelvan un objeto de este tipo.

remoh
07 de Junio del 2004
Me respondo yo solo que ya encontre como va el tema por si a alguien le sirve de algo:

la clase KeyboardFocusManager tiene un método estatico que permite obtener el KeyboardManager Actual, así que para escuchar las pulsacines de teclado previamente a que se envian al componente con el foco basta con hacer:

KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(
new KeyEventDispatcher() {
public boolean dispatchKeyEvent(KeyEvent e)
{
// si se devuleve fase el evento se sigue

}
});

remoh
07 de Junio del 2004
ups... se me escapo una pulsación de teclado y envie el mensaje antes de terminar jeje...

lo único que hay que tener en cuenta es que si la función DispachKeyEvent devuelve false el evento de teclado se enviara también al componente con el foco, en caso de que se devuelva true el evento no se retransmite al componente con el foco.

bueno despues de esta conversación tan amena conmigo mismo espero que al menos a alguien le sirva dealgo, y sino pues eso que he aprendido... no esta mal el JAVA este pero yo me quedo con mi C++ del alma....