Accepter uniquement les valeurs numériques dans un JTextField
Il est possible de limiter un JTextField pour n'accepter que des valeurs numériques en employant la classe JFormattedTextField. Cette classe prend en charge la validation de divers types de données avec des objets Format.
Utilisation de JFormattedTextField pour la saisie numérique
Le JFormattedTextField fournit une solution flexible pour valider les données et offrir un retour visuel. Voici comment l'utiliser pour la saisie numérique :
NumberFormat integerNumberInstance = NumberFormat.getIntegerInstance(); ImprovedFormattedTextField integerFormattedTextField = new ImprovedFormattedTextField(integerNumberInstance, 100);
Dans cet exemple :
Formateur personnalisé pour une analyse complète
Pour garantir que seules les valeurs numériques complètes sont acceptées, nous pouvons utiliser la classe ParseAllFormat comme décorateur pour le format object :
final Format format = new ParseAllFormat(integerNumberInstance);
Ce format wrapper garantit que si une valeur numérique partielle est saisie, la valeur sera rejeté.
Fonctionnalités supplémentaires de ImprovementFormattedTextField
La classe ImprovementdFormattedTextField offre plusieurs fonctionnalités supplémentaires :
Exemple Utilisation
Pour incorporer la fonctionnalité de saisie numérique dans une interface graphique :
JPanel panel = new JPanel(new BorderLayout()); panel.add(integerFormattedTextField, BorderLayout.WEST); JButton button = new JButton(new AbstractAction() { { integerFormattedTextField.addPropertyChangeListener("editValid", event -> setEnabled((Boolean) event.getNewValue())); putValue(Action.NAME, "Show Current Value"); } @Override public void actionPerformed(ActionEvent e) { JOptionPane.showMessageDialog(null, "The current value is [" + integerFormattedTextField.getValue() + "]"); } });
Cette configuration initialise un champ de texte numérique avec le comportement amélioré. Le bouton affiche la valeur et n'est activé que lorsque la saisie est valide.
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!