【发布时间】:2017-03-25 22:28:13
【问题描述】:
我有一个基于 libVLC 的小型 JavaFX 媒体播放器。源码可以看这里:http://bitbucket.org/alibranic/vpfx
我想为当前播放媒体的行着色。媒体扩展文件。我尝试了很多东西,但我有很多想法。我不确定,最好的方法是什么。
/**
* selects current playing item in playlist and scrolls to it. Called, when user clicks on Next-Button.
*/
private void selectListItem() {
Platform.runLater(new Runnable() {
@Override
public void run() {
playList.scrollTo(actualPlayingMediaIndex);
playList.getSelectionModel().select(actualPlayingMediaIndex);
// How can I colorize the actual playing media's row now?
}
});
}
playList.setRowFactory(new Callback<TableView<Media>, TableRow<Media>>() {
@Override
public TableRow<Media> call(TableView<Media> tableView) {
final TableRow<Media> row = new TableRow<>();
// do something...
return row;
}
});
}
正如您在 gif 中看到的:我点击播放并选择当前播放行。但是当我单击其他行时它不再是了。只要媒体正在播放,我就想保持背景颜色。
【问题讨论】:
-
为什么不用css? stackoverflow.com/a/32459829/2855515
-
问题是,当用户点击一行时,它会被选中。但我想为当前正在播放的媒体文件着色,而不是点击。
标签: javafx tableview tablerow libvlc