嗨,我正在尝试制作一个窗格,以在我的计算机中显示类似于 Windows 资源管理器的内容。当用户完成它的操作后,当他想将编辑后的图像保存在磁盘上的特定位置时,他可以轻松地从该窗格中选择目录。我想设计这样的东西:
有可能做这样的事情吗?我的图片编辑器看起来像:
在编辑器的右侧,我想放置类似输出目录选择窗格的内容。
有人知道该怎么做吗?
JTree
在中检查了一个完整的使用示例FileBrowser
。
此处Outline
显示了另一种使用方法。
是的,有可能。基本上只是JTree
。
您可能想看看File#listRoots
,File#isDirectory
和File#listFiles
。
您还想看看如何使用树。
您可能还想看看FileSystemView#getSystemIcon
哪个可以让您查看给定的适当图标File
但是,只使用 a 可能会更简单JFileChooser
;)
这可以使用 JFileChooser 来处理,如果不是您正在寻找的解决方案,请见谅
注意:你说选择一个目录,但我假设你的意思是他们可以命名他们的文件
private File selectSaveFile() {
JFileChooser fc = new JFileChooser();
fc.setFileFilter(new FileNameExtensionFilter("File Type", "txt"));
fc.setCurrentDirectory(new File(System.getProperty("user.home")));
int returnVal = fc.showSaveDialog(frame);
if (returnVal == JFileChooser.APPROVE_OPTION) {
return fc.getSelectedFile();
}
//the user didn't click save if we are here
return null;
}
你可以看看 JFileChooser。您可以使用此对象打开 SaveDialog 并获取本地硬盘上的保存路径。然后最终使用 ObjectOutputStream 写入文件。
示例代码:
JFileChooser c = new JFileChooser();
c.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
// Demonstrate "Save" dialog:
int rVal = c.showSaveDialog(fb);
if (rVal == JFileChooser.APPROVE_OPTION) {
System.out.println(c.getSelectedFile().toString());
}