Maison > Java > javaDidacticiel > Comment afficher une boîte de message immédiatement lors du changement de valeur TextField dans Swing ?

Comment afficher une boîte de message immédiatement lors du changement de valeur TextField dans Swing ?

Susan Sarandon
Libérer: 2024-12-23 06:13:30
original
347 Les gens l'ont consulté

How to Show a Message Box Immediately on TextField Value Change in Swing?

Écouteur de changement de valeur TextField

Votre objectif est d'afficher une boîte de message immédiatement lors des changements de valeur dans un champ de texte. Cependant, votre code actuel affiche la boîte de message uniquement après avoir appuyé sur la touche Entrée. Pour résoudre ce problème, concentrez-vous sur le document sous-jacent pour suivre les modifications des champs de texte.

Solution :

Introduit dans Swing, JTextFields utilise un document qui stocke et gère le texte. contenu. L'ajout d'un DocumentListener vous permet de surveiller les modifications de texte dans le champ. Voici le code mis à jour :

// Listen for changes in the text
textField.getDocument().addDocumentListener(new DocumentListener() {
    public void changedUpdate(DocumentEvent e) {
        warn();
    }

    public void removeUpdate(DocumentEvent e) {
        warn();
    }

    public void insertUpdate(DocumentEvent e) {
        warn();
    }

    public void warn() {
        if (Integer.parseInt(textField.getText()) <= 0) {
            JOptionPane.showMessageDialog(null,
                    "Error: Please enter number bigger than 0", "Error Message",
                    JOptionPane.ERROR_MESSAGE);
        }
    }
});
Copier après la connexion

Avec DocumentListener en place, toute modification de texte dans le champ déclenche désormais la méthode warn(), qui vérifie l'entrée et affiche la boîte de message si nécessaire. De cette façon, la boîte de message apparaît instantanément après que l'utilisateur a modifié le texte, répondant ainsi à vos besoins.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal