¿Cómo puedo hacerlo para que cuando presione enter en un JTextField active un JButton específico? Lo que quiero decir es algo similar a un formulario de página web donde puede presionar enter para activar el botón en el formulario. Gracias.Java establece el foco en jbutton al presionar enter
10
A
Respuesta
13
debe utilizar un Action
para la JButton
:
Action sendAction = new AbstractAction("Send") {
public void actionPerformed(ActionEvent e) {
// do something
}
};
JButton button = new JButton(sendAction);
Entonces puede establecer la misma acción para un JTextField
o incluso en un MenuItem
si desea que la misma acción que esté disponible en el Menú:
JTextField textField = new JTextField();
textField.setAction(sendAction);
7
Algo como esto debería funcionar:
textField.addActionListener(new ActionListener()
{
@Override
public void actionPerformed(ActionEvent e)
{
button.requestFocusInWindow();
}
});
3
me gustaría hacer algo como lo siguiente:
textField.addKeyListener(
new KeyAdapter() {
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_ENTER) {
button.doClick();
}
}
});
}
4
se puede lograr esto mediante la adición de la conducta default
al botón, como este
cmdLogin.setDefaultCapable(true); // by default, this is true
this.getRootPane().setDefaultButton(cmdLogin); // here `this` is your parent container
Cuestiones relacionadas
- 1. Detener el 'Ding' al presionar Enter
- 2. Evitar el descarte modal al presionar enter
- 3. Al presionar Enter Always Submits Form
- 4. Formulario no enviado al presionar enter
- 5. Mantener el foco en el cuadro de texto después de presionar enter
- 6. Java GUI: ¿Cómo establecer el foco en JButton en JPanel en JFrame?
- 7. Cerrar un cuadro de diálogo al presionar Enter
- 8. Al presionar 'enter' en un tipo de entrada = "texto", ¿cómo?
- 9. Java: Registrar <ENTER> presionar la tecla en JTextPane
- 10. ¿Cómo asigno Enter como la clave de activación de todos los JButton en mi aplicación Java?
- 11. Enviar valor al presionar Enter en textarea y presionar Shift + Enter debe ir a la siguiente línea
- 12. raw_input en python sin presionar enter
- 13. Impedir que los usuarios envíen formulario al presionar enter # 2
- 14. JSF 2.0: solicitud de ajax al presionar ENTER
- 15. android conjunto oculto el teclado al presionar enter (en un EditText)
- 16. Desactivar el pitido del sistema en TSpinEdit al presionar Entrar
- 17. firefox autocompletar 'enter' presionar tecla en autocompletar desencadenar enter on textbox
- 18. ¿Cómo se establece un foco en Textfield en Swing?
- 19. ¿Cómo establece programáticamente el foco en SelectedItem en un WPF ListBox que ya tiene foco?
- 20. Al presionar Enter submits el formulario HTML con una entrada, pero no dos
- 21. C# ¿Cómo hago clic en un botón presionando Enter mientras el cuadro de texto tiene foco?
- 22. Mover el foco a la siguiente celda al presionar la tecla Entrar ¿WPF DataGrid?
- 23. Swing redondeado JButton usando Java
- 24. Android ejecutar la función después de presionar "Enter" para EditText
- 25. ¿Cómo se establece el foco de un elemento textarea TinyMCE?
- 26. Configurar 'Guardar al perder el foco' en visual studio 2010
- 27. Presione Enter para pasar al siguiente control
- 28. Java, establecer ID para JButton
- 29. Vim: ¿Cómo sangría a una paren abierta o un corchete al presionar enter?
- 30. Safari: ¿Inhabilita form-submit en Enter?
+1, genial, ni siquiera sabía sobre el método setAction(). Siempre he usado addActionListener. De cualquier forma, esta es la mejor solución. – camickr