У меня есть диалоговое окно, в котором каждая запись в JTree имеет соответствующие параметры на другой панели, которая обновляется при изменении выбора. Если параметры для одной из записей установлены в недопустимое состояние, когда пользователь пытается перейти к другой записи в дереве, я хочу, чтобы было диалоговое окно с ошибкой и чтобы выбор не менялся.
Я попытался сделать это с помощью valueChangeListener в JTree, но в настоящее время мне нужно, чтобы метод valueChanged вызывал «setSelectionRow» для старого выбора, если есть ошибка. Чтобы я не получил StackOverflow, я устанавливаю логическое значение «isError» в значение true, прежде чем делать это, чтобы я мог игнорировать новое событие valueChanged. Почему-то я чувствую, что это не лучшее решение. ;-)
Как бы я поступил вместо этого? Есть ли хороший шаблон проектирования для подобных ситуаций?