Zéro padding une fileuse en Java
Question
Comment ajouter zéro padding à un JSpinner
Depuis la fileuse crée le JFormattedTextField
lui-même, je ne peux pas juste passer le format dans le constructeur JFormattedTextField.
N'y at-il un moyen de définir la mise en forme sur un JFormattedTextField
existant?
Ce que je veux: valeur = 37, éditeur = "0037"
MISE À JOUR:
Je l'ai essayé comme suggéré:
JSpinner mySpinner = new JSpinner();
mySpinner.setEditor(
new JSpinner.NumberEditor(mySpinner, "####"));
et le résultat ne change pas du tout à la présentation des données de la Tournette. Il semble comme une solution raisonnable; a quelqu'un a essayé cela avec succès pour que je puisse être sûr qu'il est juste quelque chose squameuse dans ma propre application?
La solution
Vous pouvez mettre l'éditeur vous , comme ceci:
// minimum of four digits
mySpinner.setEditor(new JSpinner.NumberEditor(mySpinner, "0000"));
"0000"
est une chaîne DecimalFormat
spécifiant quatre chiffres, rembourré zéro si nécessaire; "####"
spécifie quatre chiffres, mais ne pas nul-pad.
Le DecimalFormat
documentation API couvre le formatage des chaînes plus en détail.
Autres conseils
En se référant aux javadocs, JSpinner a setEditor (JComponent) . Utiliser pour définir votre JFormattedTextField sur commande, avec son format personnalisé.