我确信这些都是非常苛刻的问题......但我以前从未接触过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”。
非常感谢,如果你能帮我解决这个问题(显然是你的“最佳答案”:))
答案 0 :(得分:0)
您应该使用JFileChooser。这是你的例子:
JFileChooser jfc = new JFileChooser();
jfc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
jfc.setCurrentDirectory(new File("C:/"));
if (jfc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
File selectedFile = jfc.getSelectedFile();
File[] listOfFiles = selectedFile.listFiles();
}