java - 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.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);

        }

    }
});

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

enter image description here

注意到没有可以输入新文件名的“文件名”文本字段吗?我需要更改哪些配置才能获得此功能?

最佳答案

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

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

关于java - JFileChooser 没有文件名文本字段选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59078544/

相关文章:

java - 强制 Hibernate 将实际实例存储在二级缓存中

Java - 如何将旧的代码块空检查方式切换为可选空检查方式?

java - JDBC 参数 verifyServerCertificate=false 无需客户端 keystore 和信任库即可连接

Java:单击按钮时如何删除特定对象

java - 如何让按钮对鼠标点击使用react

java - 在 JTextField 内部删除不适用于新的 BasicLookAndFeel

intellij-idea - Lombok @RequiredArgsConstructor(onConstructor_ = {@MyAnnotation}) IntelliJ IDEA 编译错误

sql - Java 8 流与 jpa postgresql 排序依据。什么对性能更好?

java - 在 main 方法之前执行静态 block

java - CXF WSPasswordCallback 的替代方案