我有以下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
,顾名思义,它显示一个“打开文件”对话框来选择要打开的文件。允许打开不存在的文件通常没有意义。
[如果要允许用户选择新文件,您可能希望showOpenDialog
显示一个“保存文件”对话框,并且(应该)允许创建新文件。