J'essaie de faire en sorte que les boutons à bascule colorés se souviennent de la couleur qu'ils avaient avant d'être sélectionnés. Par exemple, un bouton noir sélectionné sera gris, et après avoir été désélectionné, il redeviendra noir.
Lorsque les boutons sont créés, ils reçoivent ces propriétés :
cell.setStyle("-fx-border-color: black; -fx-background-color: gray; -fx-base: gray; -fx-border-width: 1");
cell.setOnAction(event -> setPerformAction(cell));
C'est l'événement :
public void setPerformAction(ToggleButton cell) {
if(cell.isSelected()) {
cell.setStyle("-fx-border-color: red");
}
else{
cell.setStyle("-fx-border-color: black");
}
}
Le noir et le blanc ont été appliqués comme ceci :
cell.setStyle("-fx-base: white; -fx-background-color: white; -fx-border-width: 1");
Mais comme vous le voyez dans le gif ci-dessous, lorsque les boutons sont désélectionnés, ils reprennent tous une couleur différente. Comment peuvent-ils se souvenir de leur couleur précédente ?
Ces boutons sont générés dynamiquement au moment de l'exécution, je ne peux donc pas les voir dans le scene builder et ils n'ont pas de code css.