Я хочу обновить цвет моего menuButton / Menu / MenuItem автоматически, когда процесс запускается или нет.
Но цвет моего фона не обновляется.
Я связываю стильСвойство, я не знаю, если это хороший способ.
Я не использую CSS и не хочу его, но я тоже попробовал с классом CSS с getStyleClass (). clear (), затем добавьтемой класс.
Если вы знаете способ установить цвет фона, например, myMenuItem.setBackGroundColor (Color myColor);и это автоматически обновляется, это хорошая точка для вас :).
Спасибо.
view.java
@FXML
private MenuItem itmProcess;
@FXML
public void initialize() {
JavaFxObservable.valuesOf(viewModel.itmProcessStyleProperty()) //
.distinctUntilChanged() //
.observeOn(JavaFxScheduler.platform()) //
.subscribe(itmProcess.styleProperty()::set);
// itmProcess.styleProperty().bind(viewModel.itmProcessStyleProperty()); tried too
}
viewModel.java
private final SimpleStringProperty itmProcessStyle = new SimpleStringProperty();
@Inject
private CheckStatusService checkStatusService;
@FXML
public void initialize() {
startCom();
itmProcessStyle.bind(checkStatusService.processStyleProperty());
// processStyleProperty return "-fx-background-color: red;" or "-fx-background-color: lime;"
// I'll check it with a thread and sysout
}