私はオブジェクトの対応するファイルが存在するかどうかを示すBooleanプロパティを有する:ファイルが削除または追加された場合、この値は、別のスレッドによって更新されバインドテーブルビューの行の背景色
public Track {
BooleanProperty fileIsMissing = new SimpleBooleanProperty (false);
...
public BooleanProperty fileIsMissingProperty() {
return fileIsMissing;
}
public boolean isMissingFile() {
return fileIsMissing.getValue();
}
...
}
を。
トラックを行に表示するTableViewがあります。
BooleanPropertyが変更されたときに、行の背景の色を変更したいと思います。true
の場合は、背景が赤色になりたい場合はfalse
です通常の色です。
私はほとんど機能し、以下、持っている:
trackTable.setRowFactory(tv -> {
TableRow <CurrentListTrack> row = new TableRow <>();
row.itemProperty().addListener((obs, oldValue, newValue) -> {
if (newValue.isMissingFile()) {
row.getStyleClass().add("file-missing");
} else {
row.getStyleClass().removeAll(Collections.singleton("file-missing"));
}
});
...
}
とCSSでの:
.file-missing {
-fx-control-inner-background: palevioletred;
}
トラックが最初のテーブルに追加されたとき、これは、適切な背景を設定しますが、それはdoesnのfileIsMissing
の値が更新されると、私はプロパティにバインドしていないので、意味があります。
どうすればこの問題を解決できますか?
それはトリックでした、ありがとう! – JoshuaD