Bonjour,
J'ai un objet java disposant d'une propriété Float (balance )que j'aimerais lier à un label javaFX de sorte qu'une modification de balance soit répercutée aussitot sur la partie graphique.
Le Bean Account
test d'encapsulation que j'ai fait:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 public class Account{ private Float balance; public Float getBalance(){ return balance; } public void setBalance(Float balance){ this.balance = balance; } }
Le lien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 class AccountProperty { private Account account; private SimpleFloatProperty balance; public AccountProperty(Account account){ this.account = account; balance = new SimpleFloatProperty(account,"balance"); balance.set(account.getBalance()); } public Float getBalance(){ return account.getBalance(); } public void setBalance(Float balance){ account.setBalance(balance); } public FloatProperty balanceProperty(){ return balance; } }
Si ensuite je fait account.setBalance(25F), il ne se passe rien et le label n'est pas modifié.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 AccountProperty current = new AccountProperty(account); javafx.scene.control.Label currentAmount; ... currentAmount.textProperty().bind(computed.balanceProperty().asString());
J'ai du raté un truc ou alors j'ai rien compris au binding javaFX.
Pourriez vous m'éclairer ?
Merci par avance
Partager