让用户Select目录有内容

Let User Select Directory With Content

在 Windows 中有(至少)两种对话 select 文件系统上的东西。

我们有有时用于 select 文件夹的树形对话框:

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

然后是显示文件夹内容的 "normal" 对话框:

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

我想让用户 select 一个包含几个特定文件的文件夹。每个曾经被迫使用目录树对话框来做类似事情的人都知道盲目地浏览文件系统直到找到您要查找的目录是多么棘手。

所以我想使用 FileDialog 打开目录...或者使用 DirectoryDialog 以不同的外观。有什么方法可以在 SWT 中实现吗?

无法自定义 SWT FileDialogDirectoryDialog。此外,这两个对话框都依赖于平台,并且 look/behave 平台之间存在差异。

FileDialog 可以更好地了解目录的内容。如果一个文件始终存在于 selectable 目录中,您可以让用户 select 该文件 - 如果这在您的应用程序上下文中有意义。

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