2016-11-19 5 views
0

私はGUIメモリゲームを作成していますが、30イメージセット(特定のイメージクラス)と30イメージセット(jframeクラス)を持つarraylistがあります。私はそれらを繰り返し、最初の画像を最初のjbuttonに追加するなどしたいと思います。2つの等しいサイズのArrayListsを反復する方法

private static ArrayList<JButton> btnList = new ArrayList<>(); 
private static ArrayList<ImageIcon> animalArrayList = Images.initAnimalArrayList(); 

私はCollection.iteratorには慣れていません。セットアップには何が必要なのか分かりません。

任意の洞察力が大幅に下の

+1

あなたは少し勉強して、http://stackoverflow.com/documentation/java/99/arraysから多くを得ることができます。 –

+4

ループの標準を行い、list.get(i) – chatton

+0

@chattonを使用するのはなぜですか?私はそれについて考えていた、インデックスを使用して、私の画像クラスのuse.get())メソッドを取得が有用ですが、私はインデックスを使用する方法を参照してください私のjbuttonsのsetIcon() "btn1、btn2、..." – cobes

答えて

0

私の提案の回答いただければ幸いです:Iteratorを理解する

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の同じインデックス位置。

サイズがbtnList.size()と等しい理由は、同じ数のボタンとイメージが存在する必要があると仮定したためです。このため、配列リストのサイズに対応できます。

関連する問題