Bejeweled

Boas tardes,

Estou a fazer um jogo bejeweled mas estou com um problema na hora de comparar as imagens.

ja tentei com geticon, mas não estou conseguindo

JLabel ljogada = (JLabel) e.getComponent();
        if (!selecionado) {
            teste = ljogada.getIcon();
            lSelecionado = ljogada;
            selecionado = true;
            ljogada.setBorder(BorderFactory.createMatteBorder(2, 2, 2, 2, Color.yellow));
        } else {
            if (ljogada.getX() >= lSelecionado.getX() && ljogada.getX() <= lSelecionado.getX() + 100 && lSelecionado.getY() + 2 == ljogada.getY()
                    || ljogada.getX() <= lSelecionado.getX() && ljogada.getX() >= lSelecionado.getX() - 100 && lSelecionado.getY() + 2 == ljogada.getY()
                    || ljogada.getY() >= lSelecionado.getY() && ljogada.getY() <= lSelecionado.getY() + 100 && lSelecionado.getX() + 2 == ljogada.getX()
                    || ljogada.getY() <= lSelecionado.getY() && ljogada.getY() >= lSelecionado.getY() - 100 && lSelecionado.getX() + 2 == ljogada.getX()) {             
                teste1 = ljogada.getIcon();
                lSelecionado.setIcon(teste1);
                ljogada.setIcon(teste);
            }
            lSelecionado.setBorder(null);
            selecionado = false;
        }
        lSelecionado.getName();

Obrigado

Não entendi nem o que você está tentando fazer, nem o que você quer, e nem que dúvida você tem.

Pelo que eu entendi, esse código serve para trocar as duas imagens quando tenta fazer uma jogada certo?
Qual o erro que está acontecendo, ou o que não está acontecendo