0

我正在尝试制作一个数字游戏,其中涉及创建存储在二维数组中的 JLabels 网格。

JLabel 本身是通过创建 NumberPanel 类的对象来建立的,该对象创建一个显示随机数的 JLabel。

在通过 2D 数组创建对象的主类中,我需要能够访问 NumberPanel 类的一个名为“isClicked”的方法,以将布尔值设置为 true 或 false。

我已经在下面粘贴了我的代码,如果有人可以帮我一把,我将不胜感激:)

**NumberPanel Class:**

public class NumberPanel extends JLabel {

    private boolean isClicked;

    NumberPanel() {
        //Constructor code
    }

    public void clicked(boolean b) {    //Need to access this method
        isClicked = b;
    }
}

**Original class containing NumberPanel objects**

public class NumberGameGui extends JPanel {

    private JLabel[][] numberGrid;

private void gridPopulator() {

    for (int i = 0; i < 12; i++) 
        for (int j = 0; j < 9; j++) {
            numberGrid[i][j] = new NumberPanel();
            add (numberGrid[i][j]);
            numberGrid[i][j].addMouseListener (new PanelListener());
        }

    **NumberGrid[1][1].isClicked(true);** //Want to access isClicked method
}
4

1 回答 1

0

尝试这个:

((NumberPanel)numberGrid[1][1]).isClicked(true);

或者使用 NumberPanel 作为数组的静态类:

private NumberPanel[][] numberGrid;
于 2013-10-11T09:09:18.453 回答