【发布时间】:2020-01-10 15:38:50
【问题描述】:
我正在制作一个涉及 JButtons (MxN) 网格的小游戏,主要前提是点击buttonA,然后点击buttonB,为buttonB 和与@987654326 相同颜色的相邻按钮着色@ 的颜色为buttonA。我已经做到了,因此您可以选择 3 个可能的困难。颜色是随机生成的。主要问题是改变颜色。
这是我选择游戏难度后调用的方法:
public static void gameMechanics(int m, int n) {
final String[] pickedColour = {""};
final String[] placedColour = {""};
JButton[][] picked = new JButton[m][n];
JButton[][] placed = new JButton[m][n];
picked[m][n].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
pickedColour[0] = picked[m][n].getText();
}
});
placed[m][n].addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
placedColour[0] = placed[m][n].getText();
}
});
if (pickedColour[0] == "R" && placedColour[0] != "R") {
placed[m][n].setBackground(Color.RED);
placed[m][n].setText("R");
}
else if (pickedColour[0] == "G" && placedColour[0] != "G") {
placed[m][n].setBackground(Color.GREEN);
placed[m][n].setText("G");
}
else if (pickedColour[0] == "B" && placedColour[0] != "B") {
placed[m][n].setBackground(Color.BLUE);
placed[m][n].setText("B");
}
}
【问题讨论】:
-
为了更好的帮助,请尽快发布正确的minimal reproducible example
-
不要使用
==和!=比较字符串。见stackoverflow.com/questions/513832/…。
标签: java swing jbutton actionlistener