【发布时间】:2019-06-07 10:34:09
【问题描述】:
我正在用 JavaFX 创建一个媒体播放器。在我的一种方法中,我创建了一种在媒体文件中搜索元数据然后在 ImageView 中显示它的方法。第一次工作正常,但是一旦我想使用另一个 Media 对象再次调用它,图像就不会出现。我有点困惑和缺乏经验,但我认为也许我需要在进入下一个对象之前重置/停止监听器?
所以我的问题是!找到“图像”后如何删除侦听器,您输入什么来实现它?
如果您认为我的图片无法第二次显示还有其他原因,请也告诉我。
特意感谢。
private void displayAlbumCover (){
// Will start to show a blank CD
File file = new File("src/sample/images/blank_cd.jpeg");
Image image = new Image(file.toURI().toString());
albumCoverView.setImage(image);
// However if an album cover is found in the meta-data it will be displayed
ObservableMap<String,Object> meta_data=me.getMetadata();
meta_data.addListener((MapChangeListener<String, Object>) ch -> {
if(ch.wasAdded()){
String key=ch.getKey();
Object value=ch.getValueAdded();
switch(key){
case "image":
albumCoverView.setImage((Image)value);
break;
}
}
});
}
【问题讨论】:
标签: java javafx imageview listener