我很难理解这一点。基本上,这个 Lookup API 用于保持松散耦合的模块间性质。所以基本上服务提供者和消费者模块都可以使用 Lookup API 相互通信,对吗?
但我不明白的是:
Lookup 是不是一个装满该类对象的袋子?有人可以给出一个更简单的类比吗?
因此创建了依赖项,并且您在服务使用者中实现了 LookupListener 对吗?显然,消费者依赖于提供者。
那么 LookupListener 监听的实现是什么?它是自己的查找?那么如果有另一个模块类的映射,它会作为一个对象存储在 LookupListener 实现的 Lookup 中吗?
所以查找有点像一个可以存储另一个模块的类及其方法的包?
这是确定选择的正确过程吗?
- 在 TopComponent(视图)中,您实现了 Lookup Listener 和 action Listener。
- 您制作了一个新对象(来自另一个模块)
associateLookup(Lookups.singleton(fff));
再次混淆这一行:associateLookup()
到底在做什么?result = Utilities.actionsGlobalContext().lookupResult(Browser1.class);
这条线在做什么?结果是什么?它是否包含 Browser1 类(来自其他模块)?result.addLookupListener (this)
; 为什么要将侦听器添加到 result ?我们在听什么以及为什么在 TopComponent 上?完毕 ?
最后,为了进一步加深我的困惑,Node API 是如何发挥作用的?