我如何让用户选择一个或多个文件或 只有一个目录?Jfilechooser选择多个文件但不包含目录
以下设置还允许同时选择多个目录 以及文件和目录,我想要阻止该目录。
chooser.setMultiSelectionEnabled(true);
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
我如何让用户选择一个或多个文件或 只有一个目录?Jfilechooser选择多个文件但不包含目录
以下设置还允许同时选择多个目录 以及文件和目录,我想要阻止该目录。
chooser.setMultiSelectionEnabled(true);
chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
你设置ProportyChangeListener如下面的例子中:
final JFileChooser c = new JFileChooser();
c.setMultiSelectionEnabled(true);
c.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
c.addPropertyChangeListener(new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent evt) {
if (JFileChooser.SELECTED_FILES_CHANGED_PROPERTY.equals(evt.getPropertyName())) {
File[] selectedFiles = c.getSelectedFiles();
if (selectedFiles.length > 1) {
File f=c.getSelectedFile();
if (f.isDirectory())
c.setSelectedFiles(new File[] {f});
}
}
}
});
c.showDialog(null,"Apply");
System.out.println(Arrays.asList(c.getSelectedFiles()));
我怎样才能让用户选择一个或多个文件或仅一个目录?
要启用一个或多个选择使用chooser.setMultiSelectionEnabled(true);
要打开文件或目录选择使用chooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
要启用文件只使用chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
要启用目录只使用chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
例如:只有多个文件:
chooser.setMultiSelectionEnabled(true);
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
例如:只有一个文件:
chooser.setMultiSelectionEnabled(false);
chooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
谢谢,但算不上什么,我要求。我想知道是否可以只允许多个文件(或者只是一个文件)而不允许多个目录。 –
@AD我编辑了我的答案 – Husam
...再次让我更加清楚。 filechooser打开..然后我想能够CTRL +点击多个文件,但不是多个目录...它有一个方法,它将被称为chooser.setMultiSelectionForDirectoriesEnabled(false);和chooser.setMultiSelectionForFilesEnabled(true); :) –
优秀!谢谢 !!! –