Pregunta

Tengo un diálogo de búsqueda con un JTextField que está siendo utilizado como una caja de búsqueda.

Cuando el usuario escribe algo, se busca en la base de datos, muestra el resultado en un JTable y selecciona el primer elemento en el mismo.

Si el primer resultado es lo que estaban buscando, quiero que acepten rápida la ventana, pulsando Enter (mientras que el JTextField está enfocada).

Así que añade un KeyListener a la JTextField y que está bien trabajando.

Ahora el problema: El usuario abre el cuadro de diálogo puede abrir pulsando la tecla Intro cuando un botón "Buscar" en el marco de los padres del diálogo está enfocado.

El diálogo se visualiza y el JTextField obtiene el evento keyReleased (de la tecla de entrada que aparece él), por lo que se presenta y se cierra. Si el usuario mantiene Introduzca abajo, entonces el JTextField recibe la keyPressed, keyTyped y eventos keyReleased.

¿Cómo puedo solucionar sin recurrir a soluciones feos?

Plataforma es Windows 7 x64, por cierto.

Gracias.

¿Fue útil?

Solución

  

Así que añade un KeyListener a la   JTextField y que está bien trabajando.

Usted no debe estar usando un KeyListener para esto. Usted debe agregar un un ActionListener al campo de texto.

En general no se debe utilizar KeyListeners usted debe utilizar Configuración de las teclas .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top