使用函数将元素添加到类数组。处理3中的“绘画”

我正在尝试使用Processing 3创建一个“ Paint”应用程序,并且我想添加按钮来更改颜色(以后用于画笔,大小等)。

我被卡住了,因为我不断得到NullPointerException将按钮添加到我的数组的提示。

(我知道我可以在创建不带数组的每个按钮之后只要求mouseX和Y,但是对我来说似乎有点不专业,并且随着时间的推移会变得非常混乱。)

错误:第24行->“ allButtons [counter] .name = Name;”

*旁注:我对Processing / Java xd相当陌生


qq_遁去的一_1
浏览 153回答 1
1回答

九州编程

当创建这样的数组时:Button[] allButtons = new Button[100];您正在创建一个可以容纳100个Button实例的数组。但是该数组开始为空。尝试做这样的事情:println(allButtons[0]);您会看到输出了null,这意味着该值基本上为空。您实际上尚未Button向阵列添加任何实例。这就是为什么会出现错误的原因:因为您正在尝试使用不存在的值。要将实例添加到数组,您可以执行以下操作:allButtons[0] = new Button();在这一点上,使用该值将是安全的:allButtons[0].name = "cancel";顺便说一句,您可能会考虑只使用anArrayList而不是数组。或者利用Processing的数组函数,该函数允许您向数组中添加元素,而不是创建大小为100的数组。另外,将来请尝试使用正确的命名约定。变量应以小写字母开头,类应以大写字母开头。这使您的代码更容易阅读。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java