¿Es posible detectar cuando alguien presiona Entermientras escribe un JTextField en java? Sin tener que crear un botón y configurarlo como predeterminado.
java
swing
jtextfield
un sándwich
fuente
fuente
¡todo lo que necesita hacer es agregarActionListener al JTextField como arriba! Después de presionar, Enterla acción realizará lo que desee en el estado de cuenta.
fuente
Agrega un evento para
KeyPressed
.fuente
KeyListeners
tienen muchas deficiencias, de las que se solucionan en mayor medidaKeyBindings
, como las relacionadas con el enfoque, las relacionadas con copiar / pegar y muchas muchas más. Debe evitarse, para tareas triviales, como, como se pide en OP.¿Quieres hacer algo como esto?
fuente
Primero agregue el comando de acción en JButton o JTextField por:
Luego agregue ActionListener tanto a JTextField como a JButton.
Después de eso, en tu implementación de ActionListener escribe
fuente
Las otras respuestas (incluidas las aceptadas) son buenas, pero si ya usa Java8, puede hacer lo siguiente (de una manera más corta y nueva):
Como dice la respuesta aceptada, simplemente puede reaccionar con un
ActionListener
, que captura la tecla Enter.Sin embargo, mi enfoque se beneficia de los conceptos funcionales que se introdujeron en Java 8.
Si desea utilizar la misma acción, por ejemplo, para un botón y JTextField, puede hacer lo siguiente:
Si necesita más explicaciones, ¡hágamelo saber!
fuente
Si desea establecer una acción de botón predeterminada en una entrada de JTextField, debe hacer esto:
Es [0] porque un botón puede tener muchas acciones, pero normalmente solo tiene una (ActionPerformed).
fuente
Para cada campo de texto de su marco, invoque el método addKeyListener. Luego implemente y anule el método keyPressed, como otros han indicado. Ahora puede presionar enter desde cualquier campo en su marco para activar su acción.
fuente
Para escribir la lógica para 'Enter press'
JTextField
, es mejor mantener la lógica dentro delkeyReleased()
bloque en lugar dekeyTyped()
&keyPressed()
.fuente
KeyListeners
Son de un nivel demasiado bajo desdeSwing
la perspectiva de. Use la API que está destinada a ser usado conSwing
:-)Solo usa este código:
fuente