我想自动刷新menuButton / Menu / MenuItem的颜色 进程是否启动。
但是我的背景颜色没有更新。
我绑定了style属性,我不知道这是个好方法。
我不使用CSS,也不想使用它,但是我也尝试使用getStyleClass()。clear()对CSS类进行尝试,然后添加我的类。
如果您知道一种设置背景颜色的方法,例如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
}