對於那些需要幫助的人,在谷歌所遇到的這個頁面泛型類 - 我寫在另一個StackOverflow question的答案給予處理圖像的最佳方式在Java應用程序等等您可以輕鬆訪問Java中所有圖像方法類型的圖像:
這是處理JAR應用程序中所有圖像和圖標的最佳方法。
一旦將所有圖像和圖標壓縮到它自己的JAR文件中 - 通過將圖像JAR文件添加到庫選項卡中,使其現在包含在您的類路徑中來配置您的構建路徑。
然後,只需使用下面的3X行代碼你constuctor開始訪問你需要的任何東西,包括一個SystemTray的圖像不接受簡單的ImageIcon的作爲其主要的圖標(奇怪,我知道)的任何圖像。 3倍線:
URL iconUrl = this.getClass().getResource("/image-iconb.png");
Toolkit tk = this.getToolkit();
someimgicon = tk.getImage(iconUrl);
(someimgicon僅僅是一個構造函數中聲明圖像變量) 現在你可以設置窗口圖標簡單,如:在同一時間
setIconImage(someimgicon);
和通過聲明設置系統TrayIcon時使用相同的變量:
trayIcon = new TrayIcon(someimgicon, "SystemTray Demo", popupMenu);
上述內容允許您輕鬆地集中聲明圖像或ImageIcons,而不會出現將圖像資源保留在正確位置的風險。它保持了它的漂亮和整潔,包含所有圖像的JAR在運行時自動編譯並分發程序。
作爲獎勵,一旦JAR位於CLASSPATH註冊 - 你可以保持隨時添加任何其他圖像到同一JAR沒有任何大驚小怪太 - 一切都只是工作和增加的圖像立即提供給您的應用程序。
在我看來更好。
當它不在可運行Jar中時它工作嗎? – Halfwarr 2011-12-16 19:58:20
沒有它不,我發現爲什麼,我希望我可以在我的話題 – desmatron 2011-12-16 20:32:25