2

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

在此处输入图像描述

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

在此处输入图像描述

在编辑器的右侧,我想放置类似输出目录选择窗格的内容。

有人知道该怎么做吗?

4

4 回答 4

6

JTree在中检查了一个完整的使用示例FileBrowser

jtree 图像

此处Outline显示了另一种使用方法。

轮廓图像

于 2013-08-26T10:25:45.230 回答
5

是的,有可能。基本上只是JTree

您可能想看看File#listRoots,File#isDirectoryFile#listFiles

您还想看看如何使用树

您可能还想看看FileSystemView#getSystemIcon哪个可以让您查看给定的适当图标File

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

于 2013-08-26T09:02:00.923 回答
2

这可以使用 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;
}
于 2013-08-26T09:04:45.427 回答
2

你可以看看 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());
    }
于 2013-08-26T09:00:19.553 回答