我有一年的 NetBeans RCP 经验。最神奇的是Lookup(org.netbeans.lookup),它是整个NetBeans模块间通信系统的Alpha和Omega。 现在我正在 Eclipse RCP 平台中搜索类比。是数据绑定(bind)吗?或者什么?
谢谢你的建议,Jirka
感谢丹尼尔
讨论:
- 静态查找
是的,如果我们谈论“静态”查找。此查找内容包含服务提供者(操作、Windows 等)实现的“实例”。我认为,这与 Eclipse RCP 扩展点是类比的(谢谢)。
- Action 全局查找
在 NetBeans RCP 中,所有 TopComponent(类似于 View 或 Editor EClip)都有自己的 Lookup。有所有选定的(节点)或以编程方式添加的对象。当某个 TC 被聚焦时,来自此查找的这些对象位于 actionGlobaCotext 中。任何其他 TC 都可能有“存在该类的任何对象”的监听器 - 这是模块间(在 UI 中)通信的目标。
但是在 Eclipse 中:它是基于 Listeners 和 IEditorInput 吗?或者用户界面中的数据出价。
- 用户查找
在此 View 中,所有对象都可以有自己的查找 Map<Class<T>,List<? extends T>>
...这是“java中的多重继承”的基础。
但是在 Eclipse 中:我不知道。 (当然,我可以在NB平台的Eclipse中使用org.netbeans.lookup)
感谢讨论,Jirka
最佳答案
您能澄清一下查找的用例吗?
看起来大多数情况应该由 IAdaptable 处理。如果您需要将自适应对象“转换”为某个接口(interface)/类,您可以调用“adaptable.getAdapter(MyClass.class)” - 并且对象本身或通过扩展点贡献的工厂会将适配器实例化为正确的类型(如果可能的话)。这样,您的操作就可以尝试将选定的对象(无论是编辑器还是文件元素)“转换”到某个界面并调用其方法。
关于java - NetBeans RCP 查找与 Eclipse RCP X 有何类比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14092749/