Comment associer la touche Enter à un bouton – Java AWT/Swing
JButton est une sous-classe de la classe AbstractButton et il peut être utilisé pour ajouter des boutons indépendants de la plate-forme dans une application Java Swing. JButon peut générer une interface ActionListener lorsque l’utilisateur clique sur un bouton, il appellera la méthode actionPerformed() de l’interface ActionListener.
JTextField peut générer une interface KeyListener lorsque l’utilisateur clique sur une touche de clavier, il appellera la méthode keyPressed() de l’interface KeyListener.
Dans ce tutoriel nous allons découvrir comment associer la touche Enter à un bouton en Java.
Exemple:
import java.awt.event.*; import javax.swing.*; import java.awt.*; class EnterBtn extends JFrame implements ActionListener, KeyListener { public static void main(String[] args) { // créer un frame JFrame frame = new JFrame("Associer la touche Enter à un bouton"); // créer un objet EnterBtn obj = new EnterBtn(); // créer un panneau JPanel panel = new JPanel(); JLabel lname = new JLabel("Entrez votre nom ici:"); JTextField tname = new JTextField(21); JButton btn = new JButton("Cliquez ici"); // ajouter le listener au bouton btn.addActionListener(obj); // ajouter le listener au textField tname.addKeyListener(obj); // ajouter textFields et le bouton au panneau panel.add(lname); panel.add(tname); panel.add(btn); frame.add(panel); frame.setSize(300, 130); frame.show(); frame.setLocationRelativeTo(null); } public void actionPerformed(ActionEvent e) { String s = e.getActionCommand(); if(s.equals("Cliquez ici")){ JOptionPane.showMessageDialog(null , "Votre formulaire a bien été envoyé"); } } public void keyPressed(KeyEvent e) { if (e.getKeyCode()==KeyEvent.VK_ENTER){ JOptionPane.showMessageDialog(null , "Votre formulaire a bien été envoyé"); } } @Override public void keyReleased(KeyEvent arg) {} @Override public void keyTyped(KeyEvent arg) {} }
Sortie:
Exemple Complet: Méthode 2
import java.awt.event.*; import javax.swing.*; import java.awt.*; class EnterBtn extends JFrame implements ActionListener { public static void main(String[] args) { // créer un frame JFrame frame = new JFrame("Associer la touche Enter à un bouton"); // créer un objet EnterBtn obj = new EnterBtn(); // créer un panneau JPanel panel = new JPanel(); JLabel lname = new JLabel("Entrez votre nom ici:"); JTextField tname = new JTextField(21); JButton btn = new JButton("Cliquez ici"); // ajouter le listener au bouton btn.addActionListener(obj); // ajouter textFields et le bouton au panneau panel.add(lname); panel.add(tname); panel.add(btn); frame.add(panel); //****** Définir le bouton par défaut ****** frame.getRootPane().setDefaultButton(btn); frame.setSize(300, 130); frame.show(); frame.setLocationRelativeTo(null); } public void actionPerformed(ActionEvent e) { String s = e.getActionCommand(); if(s.equals("Cliquez ici")){ JOptionPane.showMessageDialog(null , "Votre formulaire a bien été envoyé"); } } }
Sortie: