Memorie in Java: jButtonIcon vergleichen?

Ich entwerfe momentan ein Memorie in Java, welches als Projektarbeit bei unserem Lehrer abgegeben werden muss. Leider auch schon morgen. Wäre also gut, wenn ich schnell hilfe bekommen würde.

Kurzer Ablauf des bereits programmierten Bereiches:
Es wird ein JFrame entworfen mit Buttons auf denen das ButtonIcon das Bild von dem Kartenrücken ist. Nach dem klick auf den Button, ändert sich das Icon zu einem Bild.
Nachdem der zweite Button geklickt wurde, soll ein Vergleich stattfinden und bei ungleichem Icon, also ungleichem Bild, die Buttons wieder zurückgesetzt werden, bei gleichen Bildern/Icons sollen diese aufgedeckt bleiben.

Mein Grundgedanke bisher:
Ein Array, der gemischt wird und danach wird der Inhalt auf die Buttons verteilt. Das Memorie sei gemischt.
Eine Methode zum Vergleich der beiden gedrückten Buttons. Bei misserfolg werden nur die falschen wieder gedreht.

Meine Probleme/Frage?

Wie kann ich…

  1. eine Abhängigkeit zwischen dem jButtonIcon() und dem Array schaffen, worin meine „Karten“ gemischt vorliegen?
  2. die Inhalte zweier jButtonIcon() miteinander vergleichen? Eine get.jButtonIcon() gibt es leider nicht!
  3. nur die falsch gedrückten jButtons wieder umdrehen lassen?

Bisher funktioniert:
befüllen und mischen des arrays
einmaliges drehen der Icons, um Bild zu erfahren
counter, der die Methode vergleich() auslösen soll