combRankのボタンの型が質問文には記載されていないので、推測で回答します。
favoriteOnActionイベント内でcombRank.setDisable(true);を行った事によりボタンが押下できなくなったのではないでしょうか。
ユーザが2つの状態(On/Off)を交互に切り替えることのできるボタンの事をトグルボタンといいます。
JavaFXにはトグルボタンクラスがあります。
javafx.scene.control.ToggleButton
以下のソースはトグルボタンを使って、ボタンの背景色を変更するサンプルコードです。ご参考まで。
Java
1import javafx.application.Application;
2import javafx.event.ActionEvent;
3import javafx.stage.Stage;
4
5import javafx.scene.Group;
6import javafx.scene.Scene;
7import javafx.scene.control.ToggleButton;
8
9public class A118646 extends Application {
10
11 @Override
12 public void start(Stage stage) throws Exception {
13
14 ToggleButton favoriteButton = new ToggleButton("お気に入り");
15 // デフォルトの背景色を変更したい時は初期設定も以下の初期設定も忘れずに。
16 // favoriteButton.setStyle("-fx-base: #f2f2f2");
17 favoriteButton.setOnAction(event -> {
18 this.favoriteOnAction(event);
19 });
20 Group root = new Group(favoriteButton);
21 Scene scene = new Scene(root, 400, 300);
22
23 stage.setTitle("JavaFX");
24 stage.setResizable(false);
25 stage.setScene(scene);
26 stage.show();
27 }
28
29 public static void main(String[] args) {
30
31 launch(args);
32 }
33
34 public void favoriteOnAction(ActionEvent event) {
35 ToggleButton favorite = (ToggleButton) event.getSource();
36
37 if (favorite.isSelected()) {
38 favorite.setStyle("-fx-base: #f4f162");
39 } else {
40 favorite.setStyle("-fx-base: #f2f2f2");
41 }
42 }
43}
44
■参考情報
0. JavaFX: JavaFX UIコンポーネントの操作 5 トグル・ボタン
0. javafx.scene.control.ToggleButton
0. JavaFX ToggleButton set color and restore default color
2018/03/23追加
ボタンが押されてボタンの背景色が変わり、もう一度ボタンが押されたら「色を直接指定せず元の状態の色(デフォルトの色)に戻す
トグルボタンなら以下のソースコードで可能です。
他のボタンに関しては知らないです、選択状態の疑似CSSクラスがあるかはお手数ですが、参考情報にCSSリファレンス・ガイドを記載しましたので、調査してくださいな。
Java
1import javafx.application.Application;
2import javafx.stage.Stage;
3
4import javafx.scene.Scene;
5import javafx.scene.control.ToggleButton;
6import javafx.scene.layout.VBox;
7import javafx.geometry.Pos;
8
9public class A118646 extends Application {
10
11 @Override
12 public void start(Stage stage) throws Exception {
13
14 ToggleButton favoriteButton = new ToggleButton("お気に入り");
15 VBox layout = new VBox(10);
16 layout.setAlignment(Pos.CENTER);
17 layout.getChildren().setAll(favoriteButton);
18 layout.getStylesheets().add(getClass().getResource("colored-toggle.css").toExternalForm());
19
20 stage.setTitle("JavaFX");
21 stage.setResizable(false);
22 stage.setScene(new Scene(layout, 400, 300));
23 stage.show();
24 }
25
26 public static void main(String[] args) {
27
28 launch(args);
29 }
30
31}
32
colored-toggle.css
css
1.toggle-button:selected {
2 -fx-background-color:#f4f162
3}
■参考情報
0. JavaFX CSSリファレンス・ガイド togglebutton
0. How to make a button appear to have been clicked or selected? (JavaFX2)
2018/03/23 08:17