我試圖改變停靠圖標的jar文件打開文件,但它僅適用於絕對路徑:的Java不能使用相對路徑
Image image = Toolkit.getDefaultToolkit().getImage("/User/Project/src/main/resources/icon.png");
即使文件是在同一個包這並未」將不起作用:
Image image = Toolkit.getDefaultToolkit().getImage("./icon.png");
我試圖改變停靠圖標的jar文件打開文件,但它僅適用於絕對路徑:的Java不能使用相對路徑
Image image = Toolkit.getDefaultToolkit().getImage("/User/Project/src/main/resources/icon.png");
即使文件是在同一個包這並未」將不起作用:
Image image = Toolkit.getDefaultToolkit().getImage("./icon.png");
你應該試試這個:
Toolkit.getDefaultToolkit().getImage("icon.png");
它將搜索main/resources
中的文件名icon.png
。
UPDATE:
如果仍然沒有工作,這應該做的伎倆:
Toolkit.getDefaultToolkit().getImage("src/main/resources/icon.png");
我做過了,在這種情況下,圖標變爲默認的exec logo – Arashigor
你是什麼意思'exec logo'? 'src/main/resources'裏面沒有'icon.png'嗎? – aUserHimself
是的,我的'icon.png'在'src/main/resources'裏面,但是隻有在使用絕對路徑時纔打開文件。 – Arashigor
哪裏是你的文件嗎?與jar相同的文件夾?在這種情況下,只需使用「icon.png」 –
'../ icon.png'? – Laazo
我已經在相同的包中測試了它,非相對路徑變體的工作。 儘管'Project/src/main/resources'中的文件是通過'/ fileName'從'Project/src/main/java/application'中訪問的 – Arashigor