2016-01-31 36 views
0

所以我一直在尋找許多解決方案來解決這個「問題」,但不知何故對我來說沒有任何作用。我試圖爲我的Java應用程序設置一個系統托盤圖標,但無論我做什麼,圖標都不會顯示出來。相反,有一個空白的空間。我嘗試了不同的東西來獲取圖像路徑,但似乎無法獲得正確的圖像路徑。獲取圖像路徑以將其用作系統托盤圖標

這就是目前的代碼看起來像:

URL url = System.class.getResource("image.jpg"); 
Image img = Toolkit.getDefaultToolkit().getImage(url); 
SystemTray mainTray = SystemTray.getSystemTray(); 
TrayIcon trayIconImage = new TrayIcon(img, "tray icon"); 
mainTray.add(trayIconImage); 

System.print.out(url)回報null

什麼我做錯了獲取路徑是什麼時候? 如果有幫助,我可以發佈Eclipse文件夾的屏幕截圖。

回答

0

您可以將圖像拖放到IDE中顯示.java文件的包文件夾中。只需從桌面或任何位置拖動文件,然後將其放入IDE中您可以看到源文件的位置。之後,您可以在聲明一個文件或圖像或任何用於將其變爲對象的類時,在代碼中簡單地引用圖像「image.jpg」。當您導出項目時,圖像將包含在內,因此您不必擔心路徑。應該與我在照片中做的相似。我將int.txt文件拖放到源代碼包中。 The int.txt file added to the program path

如果這有幫助接受答案。

您應該能夠使用:

Image img = new BufferedImage("image.jpg"); 
SystemTray mainTray = SystemTray.getSystemTray(); 
TrayIcon trayIconImage = new TrayIcon(img, "tray icon"); 
mainTray.add(trayIconImage); 

基本程序可以找到該文件,因爲他們是在爲源包文件夾的同一目錄下。

如果您擔心獲取路徑,您可能需要嘗試使用Path類和File類。

+0

哦,我覺得我的問題措辭嚴重。我知道我需要將圖像拖到我的源文件夾中。但是我的程序仍然無法通過'getResource()'獲得路徑' –

+0

您不需要獲取路徑,因爲該文件與源文件包含在同一文件夾中。你所需要做的就是我上面張貼的編輯 – Dave

+0

我改變了代碼。您可以直接實例化圖像。檢查我的編輯。 – Dave