我正在使用 SWT 开发 Java 应用程序,并使用 org.eclipse.swt.widgets.FileDialog 类进行文件输入,如下所示:
FileDialog dialog = new FileDialog(shell, SWT.OPEN);
String[] filterNames = getFilterNames(importers, isWindowsLike);
String[] filterExtensions = getFilterExtensions(importers, isWindowsLike);
dialog.setFilterNames(filterNames);
dialog.setFilterExtensions(filterExtensions);
dialog.setFilterPath(lastPath);
String selectedFileAbsolutePath = dialog.open();
这工作正常,除了对话框显示隐藏文件(带有点前缀的文件),我想避免。我还没有找到解决方案。有没有办法用 SWT 做到这一点?
提前致谢
编辑:我省略的两种方法可能也很有趣。我用 Arrays.toString(String[]) 打印出方法的返回值。这是getFilterNames:
[Excel Files, CSV Files, All Files (*)]
getFilterExtensions 依次返回:
[xls;xlsx, csv, *]
在 Windows 上,每个“*”都被替换为“*.*”,正如 Eclipse 网站 ( http://git.eclipse.org/c/platform/eclipse.platform.swt.git/tree/examples ) 上的 SWT 片段所建议的那样/org.eclipse.swt.snippets/src/org/eclipse/swt/snippets/Snippet72.java)(我已经尝试使用windows版本,它仍然显示隐藏文件)
[Excel Files, CSV Files, All Files (*.*)]
[xls;xlsx, csv, *.*]