Maison >Java >javaDidacticiel >Comment puis-je restreindre un JTextField pour qu'il n'accepte que des valeurs numériques ?

Comment puis-je restreindre un JTextField pour qu'il n'accepte que des valeurs numériques ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-16 16:42:11343parcourir

How Can I Restrict a JTextField to Accept Only Numeric Values?

Existe-t-il un moyen d'accepter uniquement des valeurs numériques dans un JTextField ? Existe-t-il une méthode spéciale pour cela ?

Réponse détaillée :

La classe JFormattedTextField fournit un moyen puissant de valider et de restreindre les entrées de l'utilisateur à des formats spécifiques. Il propose plusieurs formats intégrés, y compris des formats numériques, ce qui en fait un choix idéal pour accepter uniquement des valeurs numériques dans un JTextField.

Voici comment l'utiliser :

1. Créez un champ numérique formaté :

import javax.swing.*;
import java.text.NumberFormat;

// Create a number format instance
NumberFormat numberFormat = NumberFormat.getIntegerInstance();

// Create a formatted text field with the number format
JFormattedTextField numberField = new JFormattedTextField(numberFormat);

2. Définir la valeur par défaut :

Si vous souhaitez initialiser le champ avec une valeur par défaut, utilisez la méthode setValue :

numberField.setValue(0);

3. Personnalisation (Facultatif) :

Vous pouvez personnaliser davantage l'apparence ou le comportement du champ, comme définir la couleur du curseur et activer ou désactiver le comportement de perte de focus :

// Set focus lost behavior (commit or revert changes)
numberField.setFocusLostBehavior(JFormattedTextField.COMMIT_OR_REVERT);

4. Ajouter à l'interface graphique :

Ajoutez le champ de texte formaté à votre interface utilisateur graphique (GUI).

Commentaire visuel (facultatif) :

JFormattedTextField fournit un retour visuel pour indiquer si l'entrée est valide. Par défaut, une valeur non valide rend l'arrière-plan rouge. Vous pouvez personnaliser ce comportement si nécessaire.

Remarques supplémentaires :

  • Le JFormattedTextField peut gérer différents formats, notamment les nombres entiers, décimaux et monétaires.
  • Vous pouvez étendre la classe Format pour créer des formats personnalisés qui répondent à des exigences spécifiques.
  • N'oubliez pas de gérer correctement les exceptions qui peuvent survenir lors de l'analyse ou de la validation de l'entrée en fonction des restrictions de format.

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