我正在编写一个图像益智游戏,其中一部分代码是将用户选择的部分与正确图像的部分进行比较。
每个图像片段都已作为 ImageIcon 添加到 JButton。
需要一个标识符来区分每个图像片段并进行比较。
我正在为作为标识符创建的每个 JButton 设置一个 setName()。
比较开始于用户在将拼图块从原始 3x3 网格拖动到另一个 3x 网格以进行匹配后释放鼠标。
我在从比较if
语句中删除错误时遇到问题。
我从这个 SO 线程中得到了比较的想法 -链接
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.");
}
}
}