Por favor, haz un clic sobre los anuncios cuando pases por mi blog, ya? =)

Como generar un evento ActionPerformed presionando la tecla Enter

9 comentarios
Si estamos, por ejemplo, con el foco sobre un botón y presionamos la tecla Enter, el evento ActionPerformed no se activa. Para ellos, debemos hacer click sobre el botón.

Este código permite generar un evento ActionPerformed si presionamos la tecla enter:

Forma de usarlo:
aButton.addActionListener(this); // for normal mouse click
aButton.addKeyListener(new MakeEnterDoAction()); // convert Enter to an ActionEvent

// MakeEnterDoAction.java
// Class to turn Enter key press into an ActionEvent for a component


import java.awt.event.*;
import java.awt.*;

public class MakeEnterDoAction extends KeyAdapter {

public void keyPressed(KeyEvent ke)
{
if (ke.getKeyCode() == KeyEvent.VK_ENTER)
{
Object src = ke.getSource();
Toolkit.getDefaultToolkit().getSystemEventQueue().postEvent(
new ActionEvent(src,
ActionEvent.ACTION_PERFORMED,
"Enter"));
}
} // end keyPressed()

} // end class

9 comentarios :

k@ro dijo...

muchas gracias :)

Anónimo dijo...

Donde aplico este codigo por favor
que prove en el key presed y no me resulto

Gracias de antemano

Unknown dijo...
Este comentario ha sido eliminado por el autor.
Unknown dijo...
Este comentario ha sido eliminado por el autor.
Unknown dijo...
Este comentario ha sido eliminado por el autor.
Unknown dijo...

Amigo la verdad le busque de arriba a abajo y de abajo a arriba y no le entendí a tu código y menos puede manipularlo, es decir, no supe ni en en donde ni en´que momento se tiene que realizar el código jup....

Pero bueno si es genial.. sin embargo yo tengo una forma de utilizar la tecla ENTER...Veras lo unico que yo hago es al ultimo elemento antes de llegar al jbuton le agrego un ActionPerformed y llamo una clase realizar acion...
EJEMPLO:

final void realizaraccion(){
System.out.println(
jTextField1.getText(););
}
Entonce tengo
jTextField
y un
jButton
Para realizar un evento desde el enter no necesito llegar al Jbutton Simplemente le agrego un ActionPerformed al jTextField
y listo...
El punto que los dos quedarían así...
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
realizaraccion();
}
private void jTextFieldActionPerformed(java.awt.event.ActionEvent evt) {
realizaraccion();
}

Y ESO ES TODO AL ESTAR EN EL CUADRO DE TEXTO Y PRESIONAR ENTER AUTOMÁTICAMENTE SE REALIZA LA ACCIÓN....
ESPERO LE AYUDE EN ALGO

Anónimo dijo...

Si a alguien le sirve aplique esta sugerencias que encontré en una pagina. Suerte

http://divideyconquer.blogspot.mx/2008/09/presionar-un-jbutton-con-la-tecla-enter.html

Unknown dijo...

Hola a todos.... He tenido problemas con un código de java.
Tengo una pagina web a la cual le debo hacer automation testing. Una de las pruebas es buscar algo en la pagina para verificar que si está buscando como debería; el problema que tengo es que en la pagina no hay un botón que dirija a dicha búsqueda, sólo tengo una caja de texto en la que se escribe lo que se pretende buscar y sólo acciona la búsqueda dando enter. Estoy trabajando con eclipse, selenium y maven. tengo una función que debe validar esa prueba. El código que tengo de esta función es este:

public void search(String query)
{
s.sendKeys(query);
//s.keyPress(KeyEvent.VK_ENTER);
}
En donde s es el id de la caja de texto, ya está mapeada. Le envío una cadena de caracteres por medio del query y necesito que le de enter. Pero no me esta funcionando. No se si necesito importar alguna librería en especial, no se si esta bien lo que pretendo hacer.
Alguien me podría colaborar por favor???
Muchas gracias

Judith Thompson dijo...

No tenga miedo de fallar, tenga miedo de no intentarlo porque las personas que tienen las agallas de convertirse en miembros de esta fraternidad están disfrutando de los dividendos. Esta es la razón por la cual la fraternidad Illuminati está llegando a cualquier persona interesada en todo el mundo hoy. , usted que está leyendo este comentario de este sitio ahora mismo, simplemente significa que ha sido preestablecido en el mundo de los espíritus para que encuentre una orientación que le cambiará la vida y que cambiará su vida para siempre, y aquí viene una oportunidad única para únase al club de los ricos en otros para eliminar la pobreza y las dificultades de su vida hoy, y experimente un flujo de efectivo, fama y protección sin precedentes, la persona interesada debe enviar un correo electrónico a reganthornley666@mail.com o enviar sus consultas de Whatsapp al + 1-3157912840