使用JFileChooser
,我已通过setMultiSelectionEnabled(true)
启用了多选模式,但如何设置限制以便用户只能选择特定数量的文本(或其他)文件?< / p>
public File[] fileSelect() {
fileChooser = new JFileChooser();
fileNameExtFilter = new FileNameExtensionFilter("Text File","txt");
fileChooser.setCurrentDirectory(new java.io.File("."));
fileChooser.setDialogTitle("Open Question Set");
fileChooser.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
fileChooser.setAcceptAllFileFilterUsed(false);
fileChooser.setFileFilter(fileNameExtFilter);
fileChooser.setMultiSelectionEnabled(true);
if (fileChooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION)
return fileChooser.getSelectedFiles();
else
return null;
}
答案 0 :(得分:3)
有几种方法可以:
通过继承BasicFileChooserUI
创建自定义FileChooserUI
,并限制嵌套类SelectionListener
的实现中的选择。
创建自定义文件浏览器,如here所示,并限制相关监听器中的选择。
使用现有的FileChooser
并在选择超过三个时显示一个对话框;考虑使用JTable
包含的复选框here。
使用单独的选择器面板,如here所示,通过createPathPanel()
获取两个文件。
最佳选择和具体细节取决于用例。