【发布时间】:2015-01-12 13:42:16
【问题描述】:
我选择了大约八百个图像文件,每个文件大小为 5 MB,使用以下代码:
List<File> flist = fileChooser.showOpenMultipleDialog(label.getScene().getWindow());
当我点击打开时,filechooser 和主窗口冻结(并且不响应)。
我应该怎么做才能改善这个问题? (我不想使用 Swing。)
我的代码用于将图像文件名列表添加到 tableView。不用于加载图像。运行此代码后,我在终端中得到输出:
Total Files added: 800.
但是filechooser 和主窗口冻结(并且不响应)
public void addImage()
{
int i = 0;
List<File> list = fileChooser.showOpenMultipleDialog(label.getScene().getWindow());
if (list != null) {
for (File f : list) {
data.add( new ImgInfo(1 + data.size() + "", f));
i++;
}
System.out.println("Total Files added: " + i);
}
}
【问题讨论】:
-
您可能应该寻找另一种方法来打开如此大量的文件?
-
实际花费的时间是什么?我可以使用
FileChooser来检索大约 10,000 个文件的列表,而无需挂起 UI。您是否尝试将每个文件加载到Image中?您可能需要发布更多代码并显示 UI 实际挂起的位置。
标签: java javafx filechooser