Comment changer le format d'un JFormattedTextField au moment de l'exécution?
Je sais que vous pouvez passer d'un format à JFormattedTextField constructeur, mais comment voulez-vous changer le formateur lors de l'exécution? Par exemple, j'ai un champ qui est censé être formaté à valeurs entières, mais quand une valeur d'une certaine zone de liste modifiable est changé, maintenant, le champ est censé prendre les valeurs flottantes.
OriginalL'auteur m0s | 2011-03-05
Vous devez vous connecter pour publier un commentaire.
Vous pourriez invoquer setFormatterFactory(JFormattedTextField.AbstractFormatterFactory) sur votre objet.
Vous pouvez l'utiliser de cette manière:
Donc, il suffit de régler l'usine lors de votre événement se produit.
Noter que le constructeur de
DefaultFormatterFactory
peut prendre plusieurs formateurs; un par défaut, le format d'affichage quand il n'a pas le focus, une modification de format quand il a le focus, et null format lorsque le champ contient une valeur null.Raté le fait que setFormatter() est protégé.
Formateur et le Format n'est pas vraiment le même. Bien que je peux définir un module de formatage d'usine, je ne vois pas comment il va changer le format du champ. Peut-être que je manque quelque chose. Si vous avez un exemple, je voudrais vraiment le voir. Merci.
Np. Avez-vous le faire fonctionner?
Merci pour la réponse, il semblait fonctionner, mais je n'aime vraiment pas la complexité de la solution. Je suis finalement allé avec quelque chose de similaire à trashgod de la solution.
OriginalL'auteur Morten Kristensen
Ce exemple utilise
InputVerifier
pour ajouter des variations à un format par défaut. Il est conçu pourDate
, mais vous pourriez être en mesure d'adapter l'approche àNumber
.OriginalL'auteur trashgod