9

私は Eclipse RCP プロジェクトに取り組んでおり、ユーザーにファイルを選択させる必要があります。便宜上、いくつかの条件に基づいて、ファイル選択ダイアログを開く前に、その初期ディレクトリを設定する必要があります。

私は Eclipse RCP/SWT に縛られているので、org.eclipse.swt.widgets.FileDialog.
これのドキュメントは、私が必要とすることを正確に行う必要がある -method をFileDialog使用することを指摘しています (ドキュメントを参照)。setFilterPath(String string)

   FileDialog dialog = new FileDialog(shell, SWT.OPEN);
   dialog.setFilterExtensions(new String [] {"*.html"});
   dialog.setFilterPath("c:\\temp");
   String result = dialog.open();

残念ながら、少なくとも「毎回」ではありません。

現在、確認できるインストールはありませんが、この機能が Windows 200/XP/Vista マシンで問題なく動作することは確かです。私は Windows 7 マシンで作業していますが、ここで説明されているlpstrInitialDirの動作に苦しんでいると思います。

少なくとも、これはまさに私が直面している動作です。最初にダイアログを開くときはパスは適切ですが、2 回目はパスが最初に最後に選択されたパスに設定されます。これはほとんどの場合便利に思えますが、私の場合はそうではありません。

これは正しいでしょうか?もしそうなら、私のニーズに応じて動作を変更する機会はありますか?

役立つ答えをありがとう!

4

3 に答える 3

-1

FileDialog再度開いたときに同じオブジェクトを使用していますか?

簡単なテストをいくつか実行したところ、filterPath を再設定すると、ダイアログが正しい場所で開くことがわかりました。

同じオブジェクトを再度開くと、以前に選択した場所から開始されます。

于 2013-08-16T15:31:58.183 に答える