2015-06-03 2 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

На данный момент вы сравниваете только эти изображения, которые находятся в одном и том же положении в обоих массивах. Но вам нужно сравнить каждый imageIcon в массиве b1 с каждым ImageIcon в массиве b2.

Так что вам нужно сделать следующее:

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

ОК ваше предложение имеет смысл все же это, если заявление не работает в моей программе. Нет проблемы над этим утверждением i, который я проверил. логическая ошибка в этой строке if (b1 [a] [b] .getIcon == b2 [c] [d] .getIcon) – FKJH

+0

Значит, вы имеете в виду, что никогда не попадаете в if-блок? Или у вас есть ошибка времени компиляции? Не могли бы вы также указать часть кода в вопросе? – sfrutig

+0

Большое вам спасибо, но я понял, что пошло не так. N исправил его :) – FKJH

Смежные вопросы