Comparando componentes a través de setName ().

Estoy codificando un juego de rompecabezas de imágenes y una parte del código es comparar las piezas que el usuario ha seleccionado con las piezas de la imagen correcta.

Cada pieza de imagen ya se ha agregado a un JButton como un ImageIcon.

Se requiere un identificador para diferenciar cada pieza de la imagen y también para la comparación.

Estoy configurando un setName () para cada JButton creado como el identificador.

La comparación comienza cuando el usuario suelta el mouse después de que arrastra las piezas del rompecabezas de la cuadrícula original de 3x3, donde las piezas barajadas están en la otra cuadrícula de 3x para hacer coincidir.

Tengo problemas para eliminar el error de la comparación.if declaración.

Tengo la idea de comparación de este hilo SO -enlazar

    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.");
                    }
            }
        }

Respuestas a la pregunta(2)

Su respuesta a la pregunta