Maison > Java > javaDidacticiel > Comment restreindre l'entrée JTextField aux entiers positifs uniquement ?

Comment restreindre l'entrée JTextField aux entiers positifs uniquement ?

Barbara Streisand
Libérer: 2024-12-12 21:18:15
original
203 Les gens l'ont consulté

How to Restrict JTextField Input to Positive Integers Only?

Restriction de l'entrée JTextField à des entiers

Pour limiter l'entrée à des entiers positifs dans un JTextField, il est recommandé d'utiliser un DocumentFilter plutôt qu'un KeyListener. Un DocumentFilter fournit une solution plus complète qui gère divers scénarios de saisie.

Implémentation de DocumentFilter

Un DocumentFilter peut être implémenté pour valider la saisie au fur et à mesure de son insertion. Cet exemple de filtre, MyIntFilter, vérifie le texte saisi pour s'assurer qu'il représente un entier valide :

class MyIntFilter extends DocumentFilter {
    ...
    private boolean test(String text) {
        try {
            Integer.parseInt(text);
            return true;
        } catch (NumberFormatException e) {
            return false;
        }
    }
    ...
}
Copier après la connexion

Ce filtre vérifie si le texte saisi peut être analysé comme un entier. S'il est valide, il autorise l'insertion. Sinon, cela empêche l'insertion.

Application du DocumentFilter

Pour appliquer le filtre à votre JTextField, utilisez la méthode setDocumentFilter :

PlainDocument doc = (PlainDocument) textField.getDocument();
doc.setDocumentFilter(new MyIntFilter());
Copier après la connexion

Avantages de l'utilisation d'un DocumentFilter

  • Gère divers scénarios de saisie, y compris les opérations de collage et de coupe/copie.
  • Permet une validation de saisie complexe, telle que la vérification des limites numériques ou des formats de données spécifiques.
  • Simplifie le code en conservant la validation des entrées dans une classe distincte.

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!

source:php.cn
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