Сравнение компонентов через setName ().
Я кодирую игру-головоломку с изображением, и одна часть кода состоит в том, чтобы сравнить части, которые пользователь выбрал, с частями правильного изображения.
Каждый фрагмент изображения уже добавлен в JButton как ImageIcon.
Идентификатор необходим для различения каждого фрагмента изображения, а также для сравнения.
Я устанавливаю setName () для каждого JButton, созданного в качестве идентификатора.
Сравнение начинается, когда пользователь отпускает мышь после того, как он перетаскивает кусочки головоломки из исходной сетки 3х3, где перетасованные части находятся в другой сетке 3х для сопоставления.
У меня проблемы с удалением ошибки из сравненияif
заявление.
Я получил идею сравнения из этой темы -ссылка
private JButton[] button = new JButton[9];
private JButton[] waa = new JButton[9];
private String id;
private int cc;
private String id2;
private int cc2;
// setName for each of the 9 buttons in the original 3x3 grid being created
// which stores the shuffled puzzle pieces
for(int a=0; a<9; a++){
button[a] = new JButton(new ImageIcon());
id += Integer.toString(++cc);
button[a].setName(id);
}
// setName for each of the 9 buttons in the other 3x3 grid
// where the images will be dragged to by the user
for(int b=0; b<9; b++){
waa[b] = new JButton();
id2 += Integer.toString(++cc2);
waa[b].setName(id2);
}
// check if puzzle pieces are matched in the correct place
// compare name of original 'button' array button with the name of 'waa' array buttons
button[a].addMouseListener(new MouseAdapter(){
public void mouseReleased(MouseEvent m){
if(m.getbutton().getName().equals (waa.getName())){
}
else{
JOptionPane.showMessageDialog(null,"Wrong! Try Again.");
}
}
}