Maison >Java >javaDidacticiel >Comment puis-je afficher une boîte de message immédiatement après un changement de valeur JTextField ?
Écouteur de changement de valeur pour JTextField
L'objectif est d'afficher une boîte de message immédiatement lors de la modification de la valeur du texte dans un JTextField. Pendant que le code donné répond à la touche Entrée, le comportement souhaité est de déclencher la boîte de message avec des changements de valeur.
Code invalide
textField.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { // Code } });
Solution
Le problème vient de l'utilisation d'un ActionListener, qui attend la pression sur la touche Entrée. Pour résoudre ce problème, il faut plutôt écouter le document sous-jacent :
textField.getDocument().addDocumentListener(new DocumentListener() { // Event handlers for document changes public void warn() { // Trigger message box if value less than or equal to 0 } });
En ajoutant un DocumentListener qui écoute les changements (insertions, suppressions, modifications) dans le document, le comportement souhaité est obtenu. La méthode warn() vérifie si la valeur est inférieure ou égale à 0 et déclenche la boîte de message en conséquence.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!