Я создаю медиаплеер в 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;
}
}
});
}