Посмотрите на эти две строки:
MemoryGameWindow.this.playgame = new JMenuItem("play");
file.add(new JMenuItem("play"));
Сначала вы устанавливаете значение playgame
для нового JMenuItem. Позже в коде вы добавляете ActionListener к нему. Это все правильно.
Проблема в том, что JMenuItem с добавленным в него ActionListener - это не то, что вы добавляете в строку меню. Вместо этого вы добавляете совершенно новый JMenuItem, к которому не добавлены ActionListeners.
Исправление так же просто, как:
file.add(MemoryGameWindow.this.playgame);
Очевидно, вы нужно будет сделать это и для других пунктов меню.