我如何讓用戶選擇一個或多個文件或 只有一個目錄?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); :) –
優秀!謝謝 !!! –