基于聚焦的TopComponent激活的Node&组件毒药定制

时间:2012-01-30 06:21:42

标签: netbeans netbeans-platform

我是Netbeans RCP的新手。我从快速入门开始(http://platform.netbeans.org/tutorials/nbm-quick-start.html)。

完成教程的第3部分后,我无法理解几点。 1.如果我将焦点从“文本窗口”移动到“历史窗口”(即,单击“历史窗口”),“历史窗口”将丢失所有数据 - 为什么?我该如何防止这种情况? 2.如果我再创建一个资源管理器组件,请说“第二个历史记录窗口”,将在应用程序启动时将资源管理器组件分组(作为默认资源管理器位置)。如何在启动时指定组件的位置?

1 个答案:

答案 0 :(得分:0)

这可能与您处理Lookup更改的方式有关。当您移动焦点时,将发送一个结果为空的事件。因此,请确保在逻辑中检查

@Override
    public void resultChanged(LookupEvent le) {
        Lookup.Result res = (Lookup.Result) le.getSource();
        Collection instances = res.allInstances();

        if (!instances.isEmpty()) {
            <update>
        }else{
            <do nothing>
        }
    }