JavaFX 8 - 绑定TableView选择模型属性

时间:2014-12-21 19:46:14

标签: java javafx javafx-8

是否可以将TableView的选定行绑定到对象?

我有一个绑定到歌曲对象的ObservableList的TableView。我还有一首当前播放歌曲的歌曲对象。我想要的是当当前播放的歌曲对象发生变化时,表格视图的选定行将变为该歌曲。

这是当前的歌曲对象。

private ObjectProperty<JSong> currentSong;

@FXML
private TableView<JSong> songsTable;

我看到我可以绑定到表的选择模型属性,但我无法弄清楚如何将歌曲对象传递给它。

songsTable.selectionModelProperty().bind(???)

1 个答案:

答案 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);

        }
    });