Maison >Java >javaDidacticiel >Comment restreindre l'entrée JTextField aux entiers positifs uniquement ?
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; } } ... }
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());
Avantages de l'utilisation d'un DocumentFilter
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!