我正在为网格窗格分配几个按钮。每个按钮都有一个数字作为其文本。我创建了一个arrayList数字并为其添加数字。我使用集合来重新排列数字(我希望每次运行程序时每个按钮都有一个随机数)。然后我使用这个arrayList为每个按钮文本添加一个数字。
我希望每个按钮都有不同的数字。但是,现在1列中的每个按钮都具有相同的编号。
任何有关如何解决此问题的建议都将非常感激(随机分配按钮文字)。
这是我的代码:
Button[][] b= new Button[2][2];
List<Integer> n = new ArrayList<>();
for(int i=0; i <2; i++){
for(int j=0; j <2; j++){
b[i][j] = new Button(String.valueOf(n.get(i)));
pane.add(button[i][j], i, j);
}
}
答案 0 :(得分:1)
使用numbers.get(i)
,您只需访问ArrayList
中的前4个号码,因为i
从0
迭代到3
。
更改
b[i][j] = new Button(String.valueOf(numbers.get(i)));
到
b[i][j] = new Button(String.valueOf(n.get(i*4+j)));
编辑:
请注意,您应该使用n
ArrayList
,而不是numbers
(我不知道它包含的内容)。