5

FileDialog ウィンドウをユーザーのホーム フォルダー (つまり、/home/user または /Users/unsername) に開きたい

System.getProperty を使用して、ユーザーのホーム フォルダーを読み取ります。

  String homefolder = System.getProperty(user.home);

また、変数には正しいホーム フォルダーが含まれています。しかし、FileDialog でフィルターパスを設定すると、(Linux では) ユーザーのホーム ディレクトリに入らない /home レベルのみが開きます。

これはソースコードです:

  FileDialog dialog = new FileDialog(shell); 
  dialog.setText("Choose a certificate");
  String platform = SWT.getPlatform();
  String homefolder = System.getProperty("user.home");
  dialog.setFilterPath(homefolder);

何か案が?ここにスクリーンショットがあります: Swt FileDialog の問題

4

1 に答える 1

5

コードはSWT3.6.1で完全に機能します。これはSWTバージョン<=3.3の問題であり、3.4で修正されたことを示すバグレポートがここにあります。

したがって、解決策は、neverバージョン(理想的には現在のバージョン)をインストールすることです。

Mavenリポジトリーを使用するとおっしゃっていたので、ここにSWT3.8用のリポジトリーがあります。

Mavenプロジェクト:SWT 3.5の依存関係:公式の公開リポジトリはありますか?

于 2012-12-02T11:02:09.240 に答える