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

Java JFileChooser没有文件名文本字段选项,java,swing,java-8,jfilechooser,Java,Swing,Java 8,Jfilechooser,我有以下Java 8 Swing代码: JButton button = new JButton("Browse"); button.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { JFileChooser fileChooser = new JFileChooser(); fileChooser.set

我有以下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);

        }

    }
});
其思想是用户选择一个目录,然后键入应用程序将创建的新文件的名称。但当我点击按钮时,我看到的是:

请注意,这里没有“文件名””文本字段,您可以在其中输入新文件名?我需要更改哪些配置才能实现此目的?

您正在使用,顾名思义,它显示了一个“打开文件”对话框,用于选择要打开的文件。允许打开一个不存在的文件通常是没有意义的


如果要允许用户选择新文件,您可能希望显示“保存文件”对话框并(应该)允许创建新文件。

允许使用“文件打开”对话框选择不存在的文件是没有意义的。试试
showsavedilog
。啊,谢谢@tkausl(+1)我甚至没有意识到有
showsavedilog
方法。如果你把你的评论变成一个回答,解释不同的
showOpenDialog
showSaveDialog
在不同的“模式”下打开一个
JFileChooser
,我会很高兴地给你绿色支票!希望他们选择一个目录,然后将选择器配置为仅接受文件,然后添加一个仅强制执行.xls/.xslx文件的文件名筛选器,这毫无意义。很抱歉,打扰了,但在我的情况下,它不起作用。当我第一次上传文件时,它是空的,但当我再次选择JChooser时,它带有最后选择的文件名。在这种情况下,若文件已删除,那个么它将进入一致阶段。