我正在嘗試使用Processing 3創建一個“ Paint”應用程序,并且我想添加按鈕來更改顏色(以后用于畫筆,大小等)。我被卡住了,因為我不斷得到NullPointerException將按鈕添加到我的數組的提示。(我知道我可以在創建不帶數組的每個按鈕之后只要求mouseX和Y,但是對我來說似乎有點不專業,并且隨著時間的推移會變得非?;靵y。)錯誤:第24行->“ allButtons [counter] .name = Name;”*旁注:我對Processing / Java xd相當陌生
1 回答

九州編程
TA貢獻1785條經驗 獲得超4個贊
當創建這樣的數組時:
Button[] allButtons = new Button[100];
您正在創建一個可以容納100個Button
實例的數組。但是該數組開始為空。嘗試做這樣的事情:
println(allButtons[0]);
您會看到輸出了null
,這意味著該值基本上為空。您實際上尚未Button
向陣列添加任何實例。這就是為什么會出現錯誤的原因:因為您正在嘗試使用不存在的值。
要將實例添加到數組,您可以執行以下操作:
allButtons[0] = new Button();
在這一點上,使用該值將是安全的:
allButtons[0].name = "cancel";
順便說一句,您可能會考慮只使用anArrayList
而不是數組?;蛘呃肞rocessing的數組函數,該函數允許您向數組中添加元素,而不是創建大小為100的數組。
另外,將來請嘗試使用正確的命名約定。變量應以小寫字母開頭,類應以大寫字母開頭。這使您的代碼更容易閱讀。
添加回答
舉報
0/150
提交
取消