gpt4 book ai didi

Java - FileDialog 问题/帮助

转载 作者:行者123 更新时间:2023-12-01 05:34:37 25 4
gpt4 key购买 nike

我确信这些都是非常白痴的问题...但我以前从未处理过 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。这是您的示例:

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();
}

关于Java - FileDialog 问题/帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8371466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com