变量是否可以引用FOR内部的组件?

时间:2014-01-17 21:45:33

标签: java variables for-loop

这就是我所拥有的:

有9个法术等级。法师每天只能施放一定数量的法术。

我构建了一个标签式窗格(9个标签),每个标签中有9个空方块(图像)。

下面的数字(4,3,2,1和0)是法师可以施放的法术数量。

我想设置不可见的方块。

示例:

如果他可以在1级施放4个法术,则image1square5到image1square9变得不可见。 2级上的3个法术,image2square4到image2square9变得不可见。

我试过了:

int lvl1, lvl2, lvl3, lvl4, lvl5,lvl6,lvl7,lvl8,lvl9;
    lvl1 = 4 +1;
    lvl2 = 3 +1;
    lvl3 = 3 +1;
    lvl4 = 2 +1;
    lvl5 = 1 +1;
    lvl6 = 0 +1;
    lvl7 = 0 +1;
    lvl8 = 0 +1;
    lvl9 = 0 +1;

for (int i = n1; i <= 9; i++) {
            image1square+i.setVisible(false);
    }
for (int i = n2; i <= 9; i++) {
            image2square+i.setVisible(false);
    }

依旧......

如何在FOR?

中使用变量

3 个答案:

答案 0 :(得分:4)

使用数组或列表而不是按顺序命名变量。

答案 1 :(得分:0)

如果您要创建基于图块的游戏,则多维数组或List<List<?>>会更合适。

答案 2 :(得分:0)

我回去学习,但仍然无法工作。这就是我现在所拥有的:

我省略了

jImage1Empty1, jImage1Empty2, jImage2Empty1, etc,

但他们被宣布。它们是带有图标的jlabels。我在每个窗格中显示了9个图像,但是在启动之后,它应该设置一些设置为可见(false)。

int lvl[] = new int[9];
    lvl[0] = 4 +1;
    lvl[1] = 3 +1;
    lvl[2] = 3 +1;
    lvl[3] = 2 +1;
    lvl[4] = 1 +1;
    lvl[5] = 0 +1;
    lvl[6] = 0 +1;
    lvl[7] = 0 +1;
    lvl[8] = 0 +1;
    String img1 = "jImage1Empty";
    String img2 = "jImage2Empty";


    for (int i = 0; i < 9; i++) {
            img1 +lvl[0].setVisible(false);
    }
    for (int i = 0; i < 9; i++) {
            img2 +lvl[1].setVisible(false);
    }
}

我希望结果如下:

jImage1Empty5.setVisible(false);
jImage1Empty6.setVisible(false);
jImage1Empty7.setVisible(false);
jImage1Empty8.setVisible(false);
jImage1Empty9.setVisible(false);
jImage2Empty4.setVisible(false);
jImage2Empty5.setVisible(false);
jImage2Empty6.setVisible(false);
jImage2Empty7.setVisible(false);
jImage2Empty8.setVisible(false);
jImage2Empty9.setVisible(false);
etc...

But not as string. As a command.

有可能吗?帮助