2013-07-08 26 views
2

我發誓我到處尋找,並一直在Google上搜索幾個小時。我已經加入actionListeners所有按鈕,並且點擊時一個,我想setIcon(image)給它的圖像,像這樣:爲什麼不是setIcon在JButton上顯示圖像?

public void actionPerformed(ActionEvent e) { 
    if(e.getSource() == button) { 

    ImageIcon icon = new ImageIcon(getClass().getResource("/Images/" +letter+ ".PNG")); 
    button.setIcon(icon); 
} 

1)我知道這是檢索圖像,因爲button.getIcon()讓我像file:/Users/path/to/Images/X.PNG。我已經檢查過在設置圖標之前和之後是否爲空,並且之後不爲空。

2)除了getClass()...ImageIO.read...ImageIO.read...BufferedImage之外,我嘗試過setIcon的其他變體。

3)我不想添加更多的代碼,因爲我什至不知道什麼是相關的。我希望你的一些猜測

4)在Eclipse中,我改變了我的輸出文件夾src的(而不是bin),而這也正是我的Images文件夾。

+0

設置之前檢查對象圖標是否爲空。如果它爲空,那麼圖標的路徑無效 – KernelPanic

+0

它不是null,它絕對是一個有效的路徑。不會button.getIcon()不顯示任何它它是空的,或者如果它是一個無效的路徑? –

+0

你在哪個平臺上運行你的應用程序? – KernelPanic

回答

0

我有同樣的問題,我想。我正在使用Eclipse,在JGrasp中測試了我的代碼,它工作正常。事實證明Eclipse需要Project文件夾中的資源,而不是SRC或BIN。