我用這個命令添加圖像圖標:不能添加一個ImageIcon
iadd.setIcon(new ImageIcon(getClass().getResource("add.png")));
top.add(iadd);
,但我得到這個異常[異常線程「main」顯示java.lang.NullPointerException]
我用這個命令添加圖像圖標:不能添加一個ImageIcon
iadd.setIcon(new ImageIcon(getClass().getResource("add.png")));
top.add(iadd);
,但我得到這個異常[異常線程「main」顯示java.lang.NullPointerException]
我想通的理由了,那是因爲我忘了定義後驗證的ImageIcon:
iadd.setIcon(new ImageIcon(getClass().getResource("add.png")));
validate();
top.add(iadd);
可能性得到nullpointerException是iadd
未初始化。
iadd.setIcon(new ImageIcon(getClass().getResource("add.png")));
或在線路
top.add(iadd);
top
未初始化。
可以是在'top.add(IADD);'太 –
@SimonArsenault是完全相同 –
我已經初始化(IADD)作爲一個按鈕,(頂部)作爲面板 –
我們需要更多信息才能夠正確地幫助您。但是請確保你實例化了iadd
和top
。
要實例化,通常使用關鍵字new
。你應該有類似的東西,你上面的線:
X iadd = new X(...); // Probably ImageIcon in your case
Y top = new Y(...); // Probably some kind of List (ArrayList, LinkedList, etc.)
因爲我們不知道的類型,X
和Y
只有佔位符;)
我有已經初始化(iadd)作爲一個按鈕和(頂部)作爲面板 –
我對你的異常是從正在添加的getClass的感覺().getResource(「add.png」)
這是可能的資源並不在當前包中發現了什麼?
不,它不是資源,因爲之前有一個資源錯誤,我糾正它。 –
只需在調試模式下輸入代碼並查看會發生什麼呢? –
我已經這樣做了......它在該部分專門停止了「OutputStreamWriter」類: public void write(char cbuf [],int off,int len)throws IOException {cbuf,off,len ); –
是什麼頂?一個列表? –
是'iadd'和'top'實例嗎? –
IDD - > JButton的 頂 - >的JPanel –