Bonjour,
J'ai des petits problèmes de compréhension :oops: et donc d'affichage et de binding avec des Float
dans un tableView bindé (bidirectionnal) avec un textField
Voici la définition de ma tableView. J'ai défini ma colonne en String et ça affiche correctement mes Float...
Par exenple:
Citation:
0.0001
0.22
3333.0
bien que dans "NewModBindingVO" , ma "newModMengeProperty() soit une FloatProperty ...Code:
1
2 colNewModMenge.setCellValueFactory(new PropertyValueFactory<NewModBindingVO, String>("newModMenge"));
que
d'un autre coté, j'ai un textField que je bind "aModifierVo" qui n'est pas autre chose qu'un Item de mon observable collection qui est source de ma table.
si je fais
j'ai une erreur:Code:
1
2 Bindings.bindBidirectional(mengeRtf.textProperty(), aModifierVo.newModMengeProperty(), new FloatStringConverter());
alors que si je fais:Citation:
The method bindBidirectional(Property<String>, Property<?>, Format) in the type Bindings is not applicable for the arguments (StringProperty, FloatProperty, FloatStringConverter)
Ca marche presque bien...Code:
1
2 Bindings.bindBidirectional(mengeRtf.textProperty(), aModifierVo.newModMengeProperty(), new NumberStringConverter("##0.0##"));
si je clique dans ma table des
ça s'affiche bien dans mon textfield ou je peux éditerCitation:
0.0001
33.333
22.0
des:
le Hic c'est quand je dépasse 3 chiffres derrière la virgule, comme dans 0.0001 qui s'affiche alors 1.0E-4 dans ma table.Citation:
0.123
666 (qui s'afficheront 666.0 dans ma table)
et si je clique à nouveau dessus, il ne s'affiche que 0.0 dans mon textField