KeyEvent no se consume en ejecución normal pero en debug sí.
Holas buenas tardes, me enfrento a la siguiente situación, a ver si a alguno de ustedes les ha pasado.
En un frame tengo un texfield, el cual tiene un key listener. Si se presiona enter realiza una sumatoria y limpia un caja de texto, si se presiona F4, abre un dialogo para capturar información la cual se pone en una caja de texto en el frame principal.
Para el dialogo sobreescribo el método createRootPane para obtener eventos con el teclado para aceptar o cancelar el proceso:
Ese código funciona como se espera. En el dialogo al estar en un textfield, capturar la información y presionar enter, se llama al metodo de aceptar, realiza su chamba y cierra el dialogo.
Sin embargo, por alguna extraña, el texfield en el frame principal, donde se presiono F4, lanza un keyevent con el enter que se presionó en el dialogo, ocasionando que realize la sumatoria y limpie la caja de texto, lo cual no debe suceder así.
Ahora, lo mas raro del asunto, es que si en Eclipse (el IDE que manejo) pongo un break point en la llamada al metodo aceptar del dialogo (o en cualquier parte de la pila de llamadas), el text field del frame principal ya no lanza el keyevent con el enter.
Aqui pongo un ejemplo pequeño que hize, a ver si con ustedes se comporta igual. Dan F4 en la el text field de la izquierda y debe mostrar un dialogo, escriben algo y dan enter y veran que se asigna el texto en la caja del frame y luego se limpia, por que entra el enter. Si escriben algo en el dialogo y solo cierran, lo escrito se pondra en la caja de texto.
- Inicie sesión o regístrese para enviar comentarios