JFileChooser 没有文件名文本字段选项

JFileChooser has no FIle Name text field option

我有以下Java 8 Swing代码:

JButton button = new JButton("Browse");
button.addActionListener(new ActionListener() {
    @Override
    public void actionPerformed(ActionEvent e) {

        JFileChooser fileChooser = new JFileChooser();
        fileChooser.setDialogTitle("Choose file as input");
        fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);

        FileNameExtensionFilter filter = new FileNameExtensionFilter("Excel Filter", "xls", "xlsx");
        fileChooser.setFileFilter(filter);

        if (fileChooser.showOpenDialog(mainWindow) == JFileChooser.APPROVE_OPTION) {

            File selection = fileChooser.getSelectedFile();
            createFile(selection);

        }

    }
});

这个想法是,用户选择一个目录,然后键入一个 new 文件的名称,应用随后将创建该文件。但是当我点击按钮时,我看到的是:

请注意为什么没有“文件名”文本字段,您可以在其中输入新文件名?我需要更改哪些配置才能获得此功能?

您正在使用 showOpenDialog,顾名思义,它会显示 "Open File" 对话框以 select 打开一个文件。允许打开一个不存在的文件通常是没有意义的。

如果您想允许用户 select 一个新文件,您可能需要 showSaveDialog 显示一个 "Save File" 对话框并且(应该)允许一个新文件已创建。