Bonjour,

Débutant en JavaFX, je cherche a effectuer avec les bindings l'action suivante :

Lorsque le btn1 est cliqué, celui ci doit devenir activé, et btn2 et btn3 doivent se réactiver.

Voici mon code de test :

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
25
26
27
28
29
30
31
32
33
public class Boutons extends Application
{
 
	public static void main(String[] args)
	{
		launch(args);
	}
 
	@Override
	public void start(Stage stage) throws Exception
	{
		stage.setTitle("TEST");
 
		Button btn1 = new Button("A");
		Button btn2 = new Button("B");
		Button btn3 = new Button("C");
 
		btn2.disableProperty().bind(btn1.disableProperty().not());
		btn3.disableProperty().bind(btn1.disableProperty().not());
		//btn1.disableProperty().bind(btn3.disableProperty().not());
 
		btn1.setOnAction(action -> btn1.disableProperty().set(true));
		btn2.setOnAction(action -> btn2.disableProperty().set(true));
		btn3.setOnAction(action -> btn3.disableProperty().set(true));
 
		HBox controls = new HBox(10);
	    controls.getChildren().addAll(btn1, btn2, btn3);
 
	    Scene scene = new Scene(controls);
	    stage.setScene(scene);
	    stage.show();
	}
}
cependant j'obtiens une erreur

Code : Sélectionner tout - Visualiser dans une fenêtre à part
Exception in thread "JavaFX Application Thread" java.lang.RuntimeException: Button.disable : A bound value cannot be set.
lorsque je reclique sur B ou C pour réactiver le bouton A. J'ai pas compris quelque chose ?

Merci