2015-06-03 91 views
0

我有2個圖像圖標數組。它們都具有相同的圖像圖標,但第一個數組按順序排列,而第二個數組以隨機順序排列。我的任務是按照第一個數組中的順序設置第二個數組中圖像圖標的順序。比較JButtons和imageIcons

我需要知道我的程序可以在兩個陣列的每個按鈕中比較每個圖像圖標的位置。我應該怎麼做?

包含圖像的兩個數組

JButton b1 [][]= new JButton[4][4]; 
JButton b2 [][]= new JButton[4][4]; 

我的代碼:

for(int a=0; a<4; a++){ 
    for(int b=0; b<4; b++){ 
     if(b1[a][b].getIcon==b2[a][b].getIcon) 

然而,這並不在我的計劃工作!我應該用什麼來代替?

回答

0

目前,您只比較這兩個陣列中位於相同位置的圖像。但是您需要將數組b1中的每個imageIcon與數組b2中的每個ImageIcon進行比較。

所以,你需要做到以下幾點:

for(int a=0; a<4; a++) 
    for(int b=0; b<4; b++) 
     for (int c=0; c<4; c++) 
      for (int d=0; c<4; c++) { 
       if(b1[a][b].getIcon==b2[c][d].getIcon) { 
        ... 
       } 
      } 
+0

確定您的建議有一定道理但這個if語句並不在我的計劃工作。如果我已經檢查過陳述,那麼上面沒有問題。邏輯錯誤在這一行 if(b1 [a] [b] .getIcon == b2 [c] [d] .getIcon) – FKJH

+0

所以你的意思是你永遠不會進入if-block?或者你有任何編譯時錯誤?你能否在你的問題中提供代碼上面的部分? – sfrutig

+0

非常感謝你,但我知道出了什麼問題ñ修復它:) – FKJH