【发布时间】:2012-01-12 09:01:24
【问题描述】:
我确信这些都是非常愚蠢的问题......但我以前从未处理过 FileDialog,而且我似乎无法让我的编码工作。
这是我的 JButton 的监听器,我知道它会进入,因为会弹出一个 FileDialog:
public static class FileListener implements ActionListener{
public void actionPerformed(ActionEvent e) {
FileDialog fd = new FileDialog(new Frame(), "Pick Folder");
String dir = "C:/";
fd.setDirectory(dir);
fd.setAlwaysOnTop(true);
fd.setMode(FileDialog.LOAD);
fd.setVisible(true);
String pickedFileDir = fd.getFile();
File folder = new File(pickedFileDir);
File[] listOfFiles = folder.listFiles();
numOfFiles = listOfFiles.length;
}
}
问题是我希望它能够加载文件夹。我需要从中获取目录。即使我确实单击了 1 个文件并按“打开”,numOfFiles 也不会改变。因为这段代码,我知道这一点:
JLabel number = new JLabel("Files found: " + numOfFiles);
标签在打开文件后不会改变。它应该从“0”变为“1”。
如果您能帮我解决这个问题,我们将不胜感激(显然是对您而言的“最佳答案” :))
【问题讨论】:
-
看看 JFileChooser - 它会让您的生活更轻松。你会发现教程here。
标签: java swing load awt directory