我正在创建一个GUI内存游戏,并且我有一个具有30个图像图标(在特定的图像类中)和一个具有30个jbutton(在jframe类中)的数组列表。我想遍历它们,并将第一个imageicon添加到第一个jbutton,依此类推。
private static ArrayList<JButton> btnList = new ArrayList<>();
private static ArrayList<ImageIcon> animalArrayList = Images.initAnimalArrayList();我不熟悉Collection.iterator,并且很难弄清楚我需要做什么来设置它。
任何洞察力都将不胜感激。
发布于 2016-11-20 02:28:29
我的建议答案如下:
int size = btnList.size();
for (int i =0; i < size; i++){
btnList.get(i).setIcon(animalArrayList.get(i));
}要理解迭代器:
迭代器允许您在集合中循环,类似于for循环,例如:
Iterator itr = btnList.iterator();
while itr.hasNext(){ // while we have not loop through all elements
//get object
JButton btn = itr.next()
//do additional action
}for循环允许您访问btnList数组列表和获取所需输出的animalArrayList的相同索引位置。
size等于btnList.size()的原因是我假设必须存在相同数量的按钮和图像。因此,这可以容纳任何数组列表大小。
https://stackoverflow.com/questions/40694796
复制相似问题