Похоже, что нужно сделать два шага.
Сначала пользователь должен знать, какое изображение выбрано. К сожалению, я не могу помочь вам с этим, так как я не знаю, как вы отображаете эту сетку. С точки зрения пользовательского интерфейса, я бы предложил использовать ту белую границу, которая есть у вас в каждой ячейке, - поменять ее на черный, синий или любой другой, какой вам нравится, чтобы указать, что это выбранная ячейка. Кажется, вы используете JTable, и в этом случае вы можете написать TableCellRenderer (возможно, расширив DefaultTableCellRenderer ) и вызвать его метод setBackground ().
Тогда вам нужно прослушать ввод с клавиатуры. Эта часть не должна быть слишком плохой; напишите KeyListener и добавьте его в сам JTable. Для каждого ключевого события посмотрите, соответствует ли код клавиши клавишам со стрелками; если так, переместите свой курсор соответственно. Не забывайте следить за краями JTable.