当我点击button1时,button2会变成红色,当我第二次点击button1时,button2会变成黄色。当button2为蓝色时,点击button1后,button2会变回红色。我的代码不正确,但我希望编写与此类似的代码。
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
String[] colorsArray = {"red","yellow","green","blue"};
for(int i = 0; i < 4; i++)
jButton2.setBackground(Color.colorsArray[i]);
}
代码错误:
cannot find symbol
symbol: variable colorsArray
location: class Color
最佳答案
编辑:您的颜色数组与此方法位于同一类中,而不是位于名为 Color 的类中,如代码 Color.colorsArray 所示。代码已修复
您不需要for
循环。您需要存储 BT2 的当前状态,并在到达终点时循环。
这样你就可以从currentColor == 0
开始。当您单击按钮时,您设置红色BG,即设置currentColor == 1
。下次,您将其设置为黄色。当currentColor == 4
时,您将其设置为0以重新开始。
// put this outside method, as class member
private final String[] colorsArray = {"red","yellow","green","blue"};
private int currentColor = 0;
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
if (currentColor == colorsArray.length) {
currentColor = 0;
}
jButton2.setBackground(colorsArray[currentColor]);
currentColor = currentColor + 1;
}
关于java - Java中点击Button1和Button2会按照顺序变成多种颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45986243/