Hello à tous !
Je cherche à exécuter différentes actions lorsque la touche "Enter" du clavier est tapée. Quelles sont les mots réservés à cela ?
Merci d'avance,
Hello à tous !
Je cherche à exécuter différentes actions lorsque la touche "Enter" du clavier est tapée. Quelles sont les mots réservés à cela ?
Merci d'avance,
Tu trouveras un exemple d'implémentation d'un KeyListener ici.
Concernant la touche Enter en particulier, une fois l'événement e récupéré, il suffira de faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 int key = e.getKeyCode(); if (key == KeyEvent.VK_ENTER) { //mon traitement }
Merci pour ton aide ! Etant donné que je n'y arrive pas, je vais aller un plus loin dans l'explication de ce que je cherche à faire :
Voici le code (je mets que les bouts importants donc oubliez les appels de méthodes non affichées etc...)
J'ai un ActionListener lié à un bouton d'un interface graphique:
Action de EcouteChampTxt: appelée par le clic sur le bouton "bouton" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 public class Interface extends JFrame{ private static final long serialVersionUID = 1L; private EcouteChampTxt ecouteChampTxt; public static JButton bouton, bouton2; static Article a; public Interface (){ JPanel panneauBouton = new JPanel(); bouton = new JButton ("Recherche du mot clé"); bouton.setSize(10, 10); panneauBouton.add("South", bouton); ecouteChampTxt = new EcouteChampTxt(a); bouton.addActionListener(ecouteChampTxt);
Maintenant je voudrais exécuter le même
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package concordancesPack; import java.awt.event.*; public class EcouteChampTxt implements ActionListener { public String motCleEntre; private static Article article; public EcouteChampTxt(Article art){ article = art; } public void actionPerformed(ActionEvent ev){ motCleEntre = Interface.champMotCle.getText(); resultat(motCleEntre); } }mais quand on appuie sur Enter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 public void actionPerformed(ActionEvent ev){ motCleEntre = Interface.champMotCle.getText(); resultat(motCleEntre);}
![]()
Je pense qu'il faut ajouter un KeyListener.
Puis, implémenter l'interface KeyListener
Code : Sélectionner tout - Visualiser dans une fenêtre à part bouton.addKeyListener(ecouteChampTxt);
Après si tu veux que l'action se déclenche avec la touche "Entrer" sans pour autant que le focus soit sur le bouton, il faut ajouter le listener à ta fenêtre et non à ton bouton. Mais le principe reste le même.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 public class EcouteChampTxt implements ActionListener, KeyListener { public String motCleEntre; private static Article article; public EcouteChampTxt(Article art){ article = art; } private void doThis() { motCleEntre = Interface.champMotCle.getText(); resultat(motCleEntre); } public void actionPerformed(ActionEvent ev){ doThis(); } public void keyPressed(KeyEvent e) {} public void keyReleased(KeyEvent e) {} public void keyTyped(KeyEvent e) { if (key == KeyEvent.VK_ENTER) { doThis(); } } }
Ok, je vois, merci.
Encore une chose, quand tu fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public void keyTyped(KeyEvent e) { if (key == KeyEvent.VK_ENTER) { doThis(); } }
Ok, je vois, merci.
Encore une chose, quand tu fais :
C'est quoi key ? Comment je récupère cette variable qui est ce que j'ai tapé... ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 public void keyTyped(KeyEvent e) { if (key == KeyEvent.VK_ENTER) { doThis(); } }
Je comprends bien que c'est le
int key = e.getKeyCode();
mais je ne vois pas quoi mettre à la place du "e"...
Partager