私は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でこれを行う方法はありますか?
前もって感謝します
編集:私が省略した2つの方法もおそらく興味深いものです。Arrays.toString(String [])を使用してメソッドの戻り値を出力しました。getFilterNamesは次のとおりです。
[Excel Files, CSV Files, All Files (*)]
getFilterExtensionsは、これを返します。
[xls;xlsx, csv, *]
Windowsでは、Eclipse Webサイト(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, *.*]