java - 让用户选择包含内容的目录

标签 java swt

在 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 可以更好地了解目录的内容。如果有一个文件始终存在于可选择的目录中,您可以让用户选择该文件 - 如果这在您的应用程序上下文中有意义的话。

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

关于java - 让用户选择包含内容的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39975199/

相关文章:

java - 显示带有 s :iterator in Struts 2 的表

java - Linux (Xubuntu) 下 Eclipse 上的 LWJGL

java - 发生 mouseDoubleClick 时停止 mouseDown 事件

java - 将 SelectionListener 添加到 SWT 浏览器

java - 将 eclipse e4 应用程序的窗口设置为具有整个屏幕大小

java - 我将 TestNG 与 PowerMock 一起使用。它总是抛出未准备测试的类

java - Java中AJP协议(protocol)的实现

java - 每隔几秒更改一次 jButton 的颜色

java - 更改字体中的 classcastException

java - 不同平台的SWT jar