Bonjour,
En cliquant sur "ENTER" dans un JTextField,
j'exécute la fonction findMatchingModel(), laquelle teste d'abord si le JTextField est vide ou pas.
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 tfSelectedModel.addKeyListener( new KeyListener(){ public void keyReleased( KeyEvent e ){ if( e.getKeyCode() == KeyEvent.VK_ENTER ){ progressStart(); new Thread(new Runnable() { public void run() { findMatchingModel(); progressStop(); } }).start(); } } public void keyTyped(KeyEvent e) {} public void keyPressed(KeyEvent e) {} } );
S'il est vide, j'affiche un message demandant de sélectionner un modèle.
Le dispMsg est simplement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 private void findMatchingModel() { String brand = tfSelectedBrand.getText(); String model = tfSelectedModel.getText(); if (model.length() < 1){ dispMsg("ModelMatching", "select a model !"); return; } ... }
Ca fonctionne si je clique sur le bouton "OK", mais si j'appuye sur ENTER, le message s'affiche directement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 private void dispMsg(String titles, String msg) { JOptionPane.showMessageDialog(panelMM, msg, titles, JOptionPane.ERROR_MESSAGE); }
Quelqu'un saurait-il m'expliquer pourquoi l'event "ENTER" dans le message box n'est pas consommé et que je me retrouve dans une boucle d'affichage du message ?
Merci d'avance pour votre aide.
Partager