Я бы порекомендовал отказаться от идеи только добавления actionListeners к кнопкам, которые окружают пустое пространство: оставьте actionListeners добавленными ко всем кнопкам и обрабатывайте только щелчок, если он действителен.
Кроме того, по моему опыту,Это очень враждебно для пользователя - разрешать кликать только по одной из плиток, которые окружают пустое пространство.На изображении примера вы планируете разрешить клики только по 7, 1 и 11. Вы должны разрешить клики по 5, 7, 1, 13, 14 и 11. Так, например, щелчок по 14 должен сдвинуться 113 и 14 слева.