为了账号安全,请及时绑定邮箱和手机立即绑定

如果视图已分离,则活动透视图为空

如果视图已分离,则活动透视图为空

莫回无 2023-03-17 16:10:20
如果我右键单击并分离视图,modelService.getActivePerspective(window)则开始返回 null。这意味着重置透视图无法正常工作。如果视图未分离,则它可以正常工作。我在想,当一个新窗口打开时,它正在传递一个不包含透视图的不同窗口。例子public class ResetPerspectiveHandler {    @Execute    public static void resetPerspective(final MApplication app, final EPartService partService,        final EModelService modelService, final MWindow window) {    // Prints null    System.out.println(modelService.getActivePerspective(window));    PerspectiveSnippetsCopier.resetPerspective(modelService, partService, app, window,        modelService.getActivePerspective(window).getElementId());    }}是什么原因造成的?
查看完整描述

1 回答

?
一只斗牛犬

TA贡献1784条经验 获得超2个赞

的代码getActivePerspective是:


public MPerspective getActivePerspective(MWindow window) {

    List<MPerspectiveStack> pStacks = findElements(window, null, MPerspectiveStack.class);

    if (pStacks.size() == 1) {

        MPerspective perspective = pStacks.get(0).getSelectedElement();

        return perspective;

    }


    return null;

}

所以它希望在给定的窗口中找到一个MPerspectiveStack,大概是分离的窗口没有这个。


您可以尝试在应用程序中查找主窗口,而不是使用当前窗口。


MWindow mainWindow = (MWindow)modelService.find("main window id", app);


查看完整回答
反对 回复 2023-03-17
  • 1 回答
  • 0 关注
  • 61 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信