2013-03-11 96 views
0

的JavaFX應用程序集的ico應用程序圖標我怎麼可以設置在javafx2

當我創建Java項目中,添加jfxrt.jar

它是正確的

new Image(getClass().getResourceAsStream("../images/customLogo.png")) 

但在JavaFX項目

這是錯的。

我怎樣才能獲得相對路徑爲此在JavaFX項目。

回答

0

我認爲你應該看看Image API和這個另外link在哪裏如何把圖標回答。

如果你產生一個罐子,你可以使用

new Image("/path/to/image") 

的圖片路徑以「/」,將罐子內的絕對路徑。我強烈建議使用Image API來檢查所有選項,並且記錄在案。

希望它可以幫助

+0

API不表明如何相對路徑來訪問圖像文件上級或他們的兄弟姐妹目錄只能訪問子目錄和絕對路徑的訪問。 – Orefa 2013-03-11 08:46:56

+0

我認爲它的確如此。實際上這個片段是從API中提取出來的:「」「用指定的參數構造一個新的圖像,沒有方案的URL與類路徑相關,URL方案根據URL.openStream()」「」 。因此,您正在尋找的路徑與您的類路徑相關,以及您執行應用程序的位置。 http://goo.gl/FiEll – 2013-03-11 11:43:09

0

那麼,什麼是例外?你在哪裏創建項目(哪個IDE)。作爲一般規則,在進行查找時不要使用..-路徑,儘管它們可能在文件系統上工作,例如,打破jar文件IIRC。

+0

的NetBeans 7.3,如果改變PIC圖像子目錄的圖像和新的圖像(的getClass()。的getResourceAsStream( 「圖像/ customLogo.png」))是正確 – Orefa 2013-03-11 08:36:09

+1

右IIRC的NetBeans總是創建的JAR您應用程序並運行它 - 這就是爲什麼它不起作用,因爲當你在路徑中使用「..」時! – tomsontom 2013-03-11 08:53:28