#javafx #bind
#javafx #привязать
Вопрос:
Как оператор bind реализован в JavaFX? Что происходит за кулисами? Каждая ли переменная в JavaFX реализует какой-то observer API, чтобы слушатели могли подключаться к ней, или это уловка виртуальной машины?
Ответ №1:
Это определенно не трюк в виртуальной машине. Для некоторых частей функциональности bind компилятор JavaFX просто генерирует код, и часть кода является вызовами компонента среды выполнения с именем Location. Location поддерживает зависимости и аннулирование переменных и привязки. Вы можете просмотреть исходные тексты на kenai, если хотите. Просмотр декомпилированных классов javafx также может помочь вашему пониманию.
Комментарии:
1. Итак, когда я привязываюсь к выражению, компилятор создает местоположения и зависимости для всех терминов?
2. Да, в значительной степени так. Компилятор проанализирует выражение и добавит зависимости от переменных в выражении к переменной, которая привязывается.