是否可以将TableView的选定行绑定到对象?
我有一个TableView绑定到歌曲对象的ObservableList。我也有当前正在播放的歌曲的歌曲对象。我想要的是当当前播放的歌曲对象更改时,表视图的选定行将更改为该歌曲。
这是当前的歌曲对象。
private ObjectProperty<JSong> currentSong;
@FXML
private TableView<JSong> songsTable;
我看到我可以绑定到表的选择模型属性,但是我不知道如何将歌曲对象传递给它。
songsTable.selectionModelProperty().bind(???)
最佳答案
您可以将监听器添加到currentSong属性。
ObjectProperty<JSong> currentSong;
TableView<JSong> songsTable;
currentSong.addListener(new ChangeListener<JSong>() {
@Override
public void changed(ObservableValue<? extends JSong> observable,
JSong oldValue, JSong newValue) {
songsTable.getSelectionModel().select(newValue);
}
});