0
獲取圖像(首先,我很抱歉,如果有一個像這樣的百萬個問題。我已經嘗試盡我所能,這是推動我瘋了!)錯誤,同時從資源文件夾
我m試圖給JButton一個圖標,但我一直得到由ImageIO引起的IllegalArgumentException
。
這是我有:
//Other UI elements^
JButton X = new JButton("Clear");
//com.oliveira.ux is the package name
Image img = ImageIO.read(getClass().getResource("/com.oliveira.ux/resource/gtk-clear.png"));
Icon clear = new ImageIcon(img);
//More UI elements
圖標位於在src/包裝名稱 /資源/。 (我使用eclipse)。 我試圖在代碼更改上面的位置(我寫在這裏的人是最後一個我想),但我得到的是,當我運行德的.jar一個IllegalArgumentException。有什麼建議麼?
提前
非常感謝以下是完整的錯誤消息:
Caused by: java.lang.IllegalArgumentException: input == null!
at javax.imageio.ImageIO.read(Unknown Source)
at com.oliveira.ux.Main.<init>(Main.java:146)
at com.oliveira.ux.Main.main(Main.java:75)
... 5 more
這點在我上面寫的代碼ImageIO的該部分。
請張貼完整的堆棧跟蹤,連同任何部分「所造成」,並註明您的代碼被拋出異常的語句。 –
'的getClass()。getResource()方法'查找相對於當前類的位置的文件,所以如果你的類已經是com.oliveira.ux包內,那麼你只需要通過它'「資源/ gtk- clear.png「'。順便說一下,包是文件夾,所以com應該是一個文件夾,oliveira應該是一個子文件夾,等等;因此,你會做一些像com/oliveira/blah/blah。 – sgbj
這是'com.oliveira.ux'假設是一個web引用或包路徑參考。如果它是一個路徑,它不應該用'分開.'但是'/' – MadProgrammer