是否可以将TableView的选定行绑定到对象?
我有一个绑定到歌曲对象的ObservableList的TableView。我还有一首当前播放歌曲的歌曲对象。我想要的是当当前播放的歌曲对象发生变化时,表格视图的选定行将变为该歌曲。
这是当前的歌曲对象。
private ObjectProperty<JSong> currentSong;
@FXML
private TableView<JSong> songsTable;
我看到我可以绑定到表的选择模型属性,但我无法弄清楚如何将歌曲对象传递给它。
songsTable.selectionModelProperty().bind(???)
答案 0 :(得分:1)
您可以将监听器添加到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);
}
});