簡體   English   中英

將默認JFileChooser目錄設置為JAR位置的相對路徑

[英]Setting the default JFileChooser directory to a relative path from JAR location

只是我希望做的快速總結:

我目前在家庭網絡中的共享文件夾上有一個Swing應用程序(僅供個人使用,因此在這種情況下,便利性勝過最佳實踐)。 這個應用程序是一個地圖編輯器,我在家里的幾台不同的計算機上使用它,如果我需要完全從另一個地方工作,也想在其他計算機上使用。

簡而言之,我正試圖找到一種方法來設置它,以便在運行JAR文件並打開文件選擇器時,JFileChooser默認為JAR所在的目錄(或者甚至更好,JAR中的文件夾)根文件夾)。 實際上,我只能通過JFileChooser構造函數分配一個絕對目錄。 我現在正在這樣做(使用網絡目錄),但更喜歡相對設置。

這樣的事情可能嗎? 我無法擺脫我做錯事的感覺,因為我想這會是一個常見的問題,但我似乎無法在任何地方找到它(或者說,我搜索時沒有看到任何答案)

您可以使用以下內容從該JAR文件中的某個類獲取JAR文件的來源:

ProtectionDomain pd = ThatClass.class.getProtectionDomain();
CodeSource cs = pd.getCodeSource();
URL location = cs.getLocation();

您可以使用getClass().getProtectionDomain().getCodeSource().getLocation()來獲取實際的JAR位置,然后解析它並使用setCurrentDirectory()為JFileChooser設置它。

您可以在代碼中使用它:

JFileChooser  fc = new JFileChooser();
fc.setCurrentDirectory(new File("."));

它將文件選擇器的默認位置設置為jar文件的位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM