Maison >Java >javaDidacticiel >Comment puis-je afficher une boîte de message immédiatement après un changement de valeur JTextField ?

Comment puis-je afficher une boîte de message immédiatement après un changement de valeur JTextField ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-26 10:11:10492parcourir

How Can I Show a Message Box Immediately After a JTextField Value Change?

É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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn