Мне трудно это понять. По сути, этот Lookup API используется для сохранения слабосвязанной межмодульной природы. Таким образом, поставщик услуг и потребительские модули могут взаимодействовать друг с другом с помощью API поиска, верно?
Но вот чего я не понимаю:
Lookup похож на сумку, полную каких объектов для этого класса? Может кто-нибудь привести более простую аналогию?
Итак, зависимости созданы, и вы правильно реализуете LookupListener в потребителе службы? Очевидно, что потребитель зависит от поставщика.
Тогда что прослушивает реализация LookupListener? Это собственный поиск? Итак, если есть карта класса другого модуля, она будет храниться как объект внутри Lookup реализации LookupListener?
Итак, поиск похож на сумку, в которой могут храниться классы другого модуля и его методы?
Является ли это правильным процессом определения выбора?
- в TopComponent (представление) вы реализуете прослушиватель поиска и прослушиватель действий.
- вы делаете новый объект (из другого модуля)
associateLookup(Lookups.singleton(fff));
опять путаница с этой строчкой: что конкретно делаетassociateLookup()
?result = Utilities.actionsGlobalContext().lookupResult(Browser1.class);
что делает эта строка? что такое результат? содержит ли он класс Browser1 (из другого модуля)?result.addLookupListener (this)
; Зачем вам добавлять слушателя к результату? и что мы слушаем и почему на TopComponent?Сделанный ?
И, наконец, чтобы еще больше запутать меня, как Node API входит в игру?