正如标题所说,我需要将变量名称的一部分替换为 for 循环迭代的次数。在我的代码中,变量是 Swing 上的按钮网格,从 a1 到 c3。我必须重新着色依赖于 p1grid[] 数组的所有按钮。我不能(据我所知)将它们放在自己的数组中,因为它们是按钮。这是我的代码:for (int i = 1; i < 4; i++) { if (p1grid[i - 1].equals("empty")) ("a" + i).setBackground(Color.LIGHT_GRAY); else ("a" + i).setBackground(Color.RED);}
1 回答
德玛西亚99
TA贡献1770条经验 获得超3个赞
您当前的代码将无法编译,因为 ("a"+i) 是一个没有 setBackground() 方法的字符串。
假设按钮的类是 Button。因此,您可以执行以下操作:
List<Button> buttons = new ArrayList<Button>;
buttons.add(a1);buttons.add(a2);...
然后使用以下方法修改背景:
for (int i = 1; i < 4; i++) {
if (p1grid[i - 1].equals("empty"))
buttons.get(i-1).setBackground(Color.LIGHT_GRAY);
else
buttons.get(i-1)..setBackground(Color.RED);
}
添加回答
举报
0/150
提交
取消