Java 在ListView中显示文件名并存储文件路径

Java 在ListView中显示文件名并存储文件路径,java,javafx,Java,Javafx,我又问了一个新手问题。我在一个文件夹中有.mp3文件,我可以将其拖放到ListView中,并在ListView中显示文件名。如何在不显示文件路径的情况下存储文件路径,以便单击ListView条目并播放.mp3文件 我能想到的唯一方法是在StackPane中有2个ListView控件,在一个ListView中显示文件名,并在另一个ListView中存储相应的文件路径,该路径将隐藏在显示文件名的ListView后面 有人知道更好的方法吗 提前感谢您提供的任何帮助。您可以将文件添加到列表视图中,并仅显

我又问了一个新手问题。我在一个文件夹中有.mp3文件,我可以将其拖放到ListView中,并在ListView中显示文件名。如何在不显示文件路径的情况下存储文件路径,以便单击ListView条目并播放.mp3文件

我能想到的唯一方法是在StackPane中有2个ListView控件,在一个ListView中显示文件名,并在另一个ListView中存储相应的文件路径,该路径将隐藏在显示文件名的ListView后面

有人知道更好的方法吗


提前感谢您提供的任何帮助。

您可以将文件添加到
列表视图中,并仅显示其名称:

ListView filesList=newlistview();
//仅显示列表中的文件名
setCellFactory(新回调(){
公共ListCell调用(ListView参数){
返回新的ListCell(){
@凌驾
受保护的void updateItem(文件项,布尔值为空){
super.updateItem(项,空);
setText(item==null | | empty?null:item.getName());
}
};
}
});
//选择文件时播放
filelist.getSelectionModel().SelectEditeProperty().addListener((可观察、旧文件、新文件)->{
停止铺设(旧文件);
播放(新文件);
});

例如,使用
列表视图
并设置单元格工厂,使单元格仅显示文件名(例如
路径#getFileName()
);您将保留对实际绝对路径的引用,但UI将仅显示文件名。如果您对
Path
不满意,还有
java.io.File
,尽管我发现前者是一个更好的API。是什么让您认为您需要另一个
ListView
?即使你不能像Slaw所描述的那样将所有需要的信息放入
ListView
项目中,如果
列表也能起到作用,为什么要使用一个你永远不想显示的GUI元素来存储数据呢?费边:这只是一个想法。如果你愿意的话,可以来一杯。我只是刚刚开始学习java。我只在里面写了不到两个月的代码。斯拉夫:谢谢你。你是对的。这正是我需要的。M.S.:谢谢你。你的建议与Slaw的回答非常相似。