Java 如何约束JFileChooser选择特定数量的文件?
使用JFileChooser,我通过setMultiSelectionEnabledtrue启用了multi-selection模式,但如何设置限制,以便用户只能选择特定数量的文本或其他文件Java 如何约束JFileChooser选择特定数量的文件?,java,swing,jfilechooser,Java,Swing,Jfilechooser,使用JFileChooser,我通过setMultiSelectionEnabledtrue启用了multi-selection模式,但如何设置限制,以便用户只能选择特定数量的文本或其他文件 public File[] fileSelect() { fileChooser = new JFileChooser(); fileNameExtFilter = new FileNameExtensionFilter("Text File","txt"); fileChooser
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;
}
有几种可能的方法: 通过子类化BasicFileChooserUI创建自定义,并限制嵌套类SelectionListener实现中的选择 创建自定义文件浏览器,如图所示,并限制相关侦听器中的选择 使用现有文件选择器,并在选择超过三个时显示对话框;考虑使用包含表的复选框,如图所示。 使用单独的选择器面板,如通过createPathPanel显示的两个文件所示
最佳选择和确切细节将取决于用例。。但如何对其进行限制,以便用户只能选择三个文件。为什么只有3个?如果是这样的话,我会为用户提供一个单一的选择文件选择器,3次。我必须将这些文件的路径发送到其他类的构造函数,所以我猜不能进行循环。我的情况下只有3次。我同意你的意见,我应该问一下。非常感谢。我发现1、3和4适合我的情况。