【发布时间】:2012-08-30 13:27:44
【问题描述】:
我正在制作一个类似于带有代码突出显示的文本编辑器的应用程序。
当我尝试保存一些文本时,我希望在 JFileChooser 上显示一个固定的文件名,该文件名在浏览目录时不会更改。
我这样做的原因是因为用户要保存 .java 文件。该文件应该具有给定类的名称。让用户输入名称只会导致错误,这会减慢编译速度并且没有意义。
这是我的自动取款机:
final JFileChooser fc = new JFileChooser();
fc.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
int userSelection = fc.showSaveDialog(null);
if (userSelection == JFileChooser.APPROVE_OPTION) {
File f = fc.getSelectedFile();
String name = f.getAbsolutePath();
File newFile = new File(name);//the text is written on this file.
}
【问题讨论】:
-
我不太确定,因为我使用 Swing 已经有一段时间了,但是由于选项“DIRECTORIES_ONLY”,您将只能获得 DirectoryPaths,因此您可以以编程方式自动附加文件名,然后您'重做。或者您是否希望用户明确地看到它将是什么但不能改变它?
-
那么你不能让用户选择一个目录(你似乎已经这样做了),然后用你喜欢的名称将文件存储在那个目录中吗?
-
顺便说一句,如果你保存的是java文件,你可能还需要考虑到包。
-
好点,@Gauillaume,我赞同!
-
可以,但这并不妨碍用户修改文件名。就个人而言,我会简单地要求用户使用 DIRECTORY_ONLY 文件选择器为 java 文件选择一个 src 目录,然后我会自动创建适当的包结构并使用适当的文件名保存。这将防止任何未来的问题。如果您希望显示 java 文件的名称,可以使用 FileChoose 标题或使用“附件”JLabel 组件
标签: java swing file-io jfilechooser