减少添加图像的代码量

时间:2014-05-28 01:57:25

标签: java

尝试将26张图片添加到我正在制作的游戏中。现在我有26条线,我试图缩短。这是我到目前为止所做的。

 for(int i = 0; i < 27; i++) {
    ImageIcon breifCase + i = new ImageIcon(Toolkit.getDefaultToolkit().getImage(getClass().getResource("img/case" + i + ".png")));
}

我想要做的就是在每个名称的变量名称上增加结束编号,并增加图像名称末尾的数字。 它说我不能转换成int。不能想到我还能怎么做。

3 个答案:

答案 0 :(得分:4)

而不是单独声明变量

// Don't do it like that!
ImageIcon breifCase0;
ImageIcon breifCase1;
ImageIcon breifCase2;
...
ImageIcon breifCase26;

制作数组或集合。像这样声明你的数组

ImageIcon[] breifCase = new ImageIcon[27];

现在你可以稍微改变你的循环 - 你已经完成了!

for(int i = 0; i < 27; i++) {
    breifCase[i] = new ImageIcon(Toolkit.getDefaultToolkit().getImage(getClass().getResource("img/case" + i + ".png")));
}

答案 1 :(得分:1)

这在java中是不可能的(据我所知)我建议您使用HashMap(或List)来存储它。

List<ImageIcon> breifCase = new ArrayList<ImageIcon>();

for(int i = 0; i < 27; i++) {
    breifCase.add(new ImageIcon(Toolkit.getDefaultToolkit().getImage(getClass().getResource("img/case" + i + ".png"))));
}

答案 2 :(得分:0)

您无法创建动态命名的变量,例如

ImageIcon breifCase + i

尝试使用

等数组
ImageIcon breifCase [] = new ImageIcon [26];