在Windows中,至少有两种对话框可以选择文件系统上的内容。

我们有树对话框,有时用来选择文件夹:

DirectoryDialog directoryDialog = new DirectoryDialog(shell);
System.out.println("directory=" + directoryDialog.open());


然后是“正常”对话框,其中显示了文件夹的内容:

FileDialog fileDialog = new FileDialog(shell);
System.out.println("file=" + fileDialog.open());


我想让用户选择一个包含几个特定文件的文件夹。每个曾经被迫使用目录树对话框进行类似操作的人都知道,盲目地在文件系统中四处戳戳,直到找到您要查找的目录都是多么棘手的事情。

因此,我想使用FileDialog打开目录...或使用其他外观的DirectoryDialog。有什么方法可以在SWT中实现这一目标吗?

最佳答案

无法自定义SWT FileDialogDirectoryDialog。此外,两个对话框都依赖于平台,并且在平台之间外观/行为不同。

FileDialog可以更好地了解目录的内容。如果在可选目录中始终存在单个文件,则可以让用户选择该文件-如果在您的应用程序上下文中有意义的话。

否则,您可能需要实现自定义目录选择对话框。

10-08 16:23