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
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;
}
 
}
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
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;
		}
	}
Le lien
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());
Si ensuite je fait account.setBalance(25F), il ne se passe rien et le label n'est pas modifié.

J'ai du raté un truc ou alors j'ai rien compris au binding javaFX.

Pourriez vous m'éclairer ?

Merci par avance