涉及相邻JButton的Java游戏

问题描述 投票:0回答:1

[我正在制作一个包含JButtons(MxN)网格的小游戏,主要前提是单击buttonA,然后单击buttonB,为buttonB和与buttonB颜色相同的相邻按钮着色颜色为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");
    }
}
java jbutton actionlistener
1个回答
0
投票

我会考虑使用JPanel并对其进行绘画,而不是使用MouseListener

© www.soinside.com 2019 - 2024. All rights reserved.