У меня есть графический интерфейс, который выдает команды веб-серверу на основе значений ползунка. Некоторые из этих ползунков «связаны» на веб-сервере, поэтому изменение одного из них может также изменить другой. Связывание выполняется веб-сервером, возвращающим список значений, которые были установлены на основе введенной команды.
Таким образом, я могу легко установить соответствующие ползунки на основе этого ответа, но проблема заключается в том, что выполнение этого вызывает запуск ChangeListener, а затем снова выдается команда на веб-сервер. В идеале «связывание» должно быть хорошим и избегать бесконечных циклов, но это является потенциальной проблемой, и отправка всех этих дополнительных событий кажется ненужной.
Два решения, о которых я мог подумать, были:
- Временное удаление слушателей, изменение значения и их последующее возвращение.
- Добавьте флаг "manual", чтобы слушатель знал, что он должен игнорировать изменение.
Ни один из них не кажется мне идеальным решением, но один из них "лучше", чем другой? Или есть третье решение, которое я не рассматриваю?