1

私がやりたいことの簡単な要約:

私は現在、ホーム ネットワークの共有フォルダーに Swing アプリケーションを持っています (個人使用のみなので、この場合のベスト プラクティスよりも利便性が優先されます)。このアプリケーションはマップ エディターで、私は家の中の 2 台の異なるコンピューターから使用しています。別の場所から完全に作業する必要がある場合は、他のコンピューターでも使用したいと考えています。

簡単に言うと、JAR ファイルを実行してファイル チューザーを開くと、JFileChooser がデフォルトで JAR があるディレクトリ (または、JAR 内のフォルダー) になるように設定する方法を見つけようとしています。ルートフォルダ)。現状では、JFileChooser コンストラクターを介して絶対ディレクトリを割り当てることしかできません。私は現在これを行っています (ネットワーク ディレクトリを使用しています) が、相対的な設定を好みます。

そのようなことは可能ですか?これはよくある質問だと思うので、何か間違ったことをしているという気持ちを揺るがすことはできませんが、どこにも尋ねられていないようです(というか、検索しても答えが表示されません)

4

3 に答える 3

2

次のようなものを使用して、その JAR ファイル内のクラスの 1 つから JAR ファイルのオリジンを取得できます。

ProtectionDomain pd = ThatClass.class.getProtectionDomain();
CodeSource cs = pd.getCodeSource();
URL location = cs.getLocation();
于 2012-11-16T20:40:00.153 に答える
1

を使用getClass().getProtectionDomain().getCodeSource().getLocation()して実際の JAR の場所を取得し、それを解析しsetCurrentDirectory()て JFileChooser 用に設定できます。

于 2012-11-16T21:03:40.807 に答える