Как работает оператор bind в JavaFX?

#javafx #bind

#javafx #привязать

Вопрос:

Как оператор bind реализован в JavaFX? Что происходит за кулисами? Каждая ли переменная в JavaFX реализует какой-то observer API, чтобы слушатели могли подключаться к ней, или это уловка виртуальной машины?

Ответ №1:

Это определенно не трюк в виртуальной машине. Для некоторых частей функциональности bind компилятор JavaFX просто генерирует код, и часть кода является вызовами компонента среды выполнения с именем Location. Location поддерживает зависимости и аннулирование переменных и привязки. Вы можете просмотреть исходные тексты на kenai, если хотите. Просмотр декомпилированных классов javafx также может помочь вашему пониманию.

Комментарии:

1. Итак, когда я привязываюсь к выражению, компилятор создает местоположения и зависимости для всех терминов?

2. Да, в значительной степени так. Компилятор проанализирует выражение и добавит зависимости от переменных в выражении к переменной, которая привязывается.