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" 对话框并且(应该)允许一个新文件已创建。
我有以下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" 对话框并且(应该)允许一个新文件已创建。