如何制作输出目录选择面板?

嗨,我正在尝试制作一个窗格,在我的计算机中显示类似Windows资源管理器的内容。 当用户完成它的操作时,之后当他想将编辑过的图像保存在磁盘上的特定位置时,他就可以轻松地从该窗格中选择目录。 我想设计这样的东西:

在此处输入图像描述

有可能做那样的事吗? 我的图片编辑器看起来像:

在此处输入图像描述

在编辑器的右侧我想放置输出目录选择窗格之类的东西。

谁知道怎么做?

是的可能。 它基本上只是JTree

您可能希望查看File#listRootsFile#isDirectoryFile#listFiles

您还需要了解如何使用树木 。

您可能还想查看FileSystemView#getSystemIcon ,它将允许您查看给定File的相应图标

但是,使用JFileChooser可能更简单;)

FileBrowser检查使用JTree的完整示例。

jtree图像

此处显示了使用Outline的替代方案。

大纲图像

你可以看看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()); } 

这可以使用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; }