所以我一直在寻找这个一周,并且阅读虽然每个问题都很相似,但似乎没有人像我一样问同样的问题(尝试逆向工程其他解决方案类似于我想要的但没有成功.
解释了穴居人风格:我正在尝试使用元数据创建列表.
ArrayList<File>问题是,只有在增强循环完成后,侦听器才会起作用,导致
ArrayList<String>一个对象中没有任何内容
这是一个示例:
ArrayList<String> al;
String path;
public void open(){
files=chooser.showOpenMultipleDialog(new Stage());
for( File f:files){
path=f.getPath();
Media media = new Media("file:/"+path.replace("\\", "/").replace(" ", "%20"));
al= new ArrayList<String>();
media.getMetadata().addListener(new MapChangeListener<String, Object>() {
public void onChanged(Change<? extends String, ? extends Object> change) {
if (change.wasAdded()) {
if (change.getKey().equals("artist")) {
al.add((String) change.getValueAdded());
}
}
}
});
}//close for loop
//then i want to see the size of al like this
system.out.println(al.size());
//then it returns 1 …Run Code Online (Sandbox Code Playgroud)