Bonjour a tous. Je voulais savoir si c'est possible de faire en sorte que lorsque l'on appui sur le bouton Entrée du clavier, une action se passe (comme rechercher par exemple) et si oui, comment? D'avance merci pour votre aide.
Version imprimable
Bonjour a tous. Je voulais savoir si c'est possible de faire en sorte que lorsque l'on appui sur le bouton Entrée du clavier, une action se passe (comme rechercher par exemple) et si oui, comment? D'avance merci pour votre aide.
Regarde du côté des écouteurs d'événement au niveau du clavier les keyListener
http://java.sun.com/j2se/1.5.0/docs/api/index.html
Sinon plus généralement, regardes les écouteurs d'événement :)
Ok merci je regarde. Mais je ne savais pas du tout par ou commencer a chercher. Je me doutais bien que il y allais avoir du listener... lol
Ensuite dans ta méthode de listener tu fais ça :
Code:
1
2
3
4
5
6
7 public void keyTyped( KeyEvent e ) { if ( e.getKeyCode() == KeyEvent.VK_ENTER ) { // La touche ENTREE a été tapée } }
Je n'ais pas de methode listener, je ne fais que récupérér mes données et ensuite c'est dans le submit que tout ce passe.
Il faut un actionListener :
Code:
1
2
3
4
5
6
7
8
9
10 JButton submit = new JButton("Submit"); submit.addActionListener( new ActionListener(){ public void actionPerformed(ActionEvent ){ //action a faire sur clique du bouton } });
non mais en fait mon submit c'est une méthode :
mon bouton est déjà crée et s'appel searchbouton.Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 public void submit() { String tablename =_form.getData("TABNAME"); //... try { //... } catch (AlertException e) { //... } }
Tu fais le traitement de ta méthode submit() dans celle du listener tout simplement. La méthode submit() ne te sert plus à rien pusique tu gères l'événement avec une touche clavier :)
J'ai compris le problème (je pense) ! Faudra quand même à l'avenir expliquer plus clairement ce que tu souhaites.
Tu gardes ta méthode submit comme elle est, puis à ton bouton submit tu attaches un ActionListener, la méthode actionPerformed devient alors :
Et ensuite à chacun de tes textfields constituant le formulaire tu ajoutes un KeyListener (le même pour chaque textfield), avec la méthodé keyTyped redéfinie comme suit :Code:
1
2
3 public void actionPerformed(ActionEvent e) { submit() ; }
De cette manière, ta méthode submit() est appelée soit par un clic sur le bouton, soit par appui sur la touche entrée. C'est bien ça que tu voulais, non ?Code:
1
2
3
4
5 public void keyTyped( KeyEvent e ) { if ( e.getKeyCode() == KeyEvent.VK_ENTER ) { submit() ; } }
Ok alors a ma sauce ca a donné ca :
Voila un autre problème de résolu... Merci beaucoupCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 public void keyReleased(KeyEvent e) { //+ Appuie sur une touche clavier sur la zone texte if (_tablename.equals(e.getSource())||_colonne.equals(e.getSource())||_application.equals(e.getSource())) { // Récupère la touche clavier int key = e.getKeyCode(); // Si appuie sur Entrer if (key == KeyEvent.VK_ENTER) { _controler.submit(); } } } public void keyPressed(KeyEvent e){} public void keyTyped(KeyEvent e) {}