我正在开发一个基于netbeans平台的应用程序。
我遇到的问题是:我有一个TopComponent,它包含两个面板,A和B,每个面板都有一个ExplorerManager。我在每个面板中有两个BeanTreeViews,每个面板有不同的节点集。当我更改A面板中的选择时,B面板中的节点将被创建。现在,我希望能够在B面板中选择一个节点,并在默认属性视图中看到它的属性。但我在A面板中仍然有一个选定的节点,因此属性视图只表示“多个对象”。有什么方法可以防止A面板中的选择传播到PropertyView?
我希望能够在这两组节点上使用NodeActions,因此我添加了
associateLookup(new ProxyLookup(
ExplorerUtils.createLookup(PanelA.getExlporerManager(), map),
ExplorerUtils.createLookup(PanelB.getExplorerManager(), map)
));如果我只联系PanelA的TopComponent,那么这就不是问题了。
发布于 2015-04-06 07:57:23
好的,一些在测试之后,我找到了一个对我有用的解决方案。也许我发布这个问题有点快了。无论如何;
在TopComponent里我做了
associateLookup(new ProxyLookup(
ExplorerUtils.createLookup(PanelA.getExlporerManager(), map)
));然后,只有PanelA中的节点才会传播到PropertyView。然后为了让NodeActions在PanelB中工作,我让它实现了Lookup.Provider,然后用
lookup = ExplorerUtils.createLookup(explorerManager, map);https://stackoverflow.com/questions/29467061
复制相似问题