将焦点放在Listener中的视图上

时间:2018-03-14 16:08:21

标签: java eclipse-plugin eclipse-rcp

我正在使用JCEF Framework为Eclispe rcp构建一个插件。 Framework是用C ++编写的,并且有Java包装器。使用该框架,我在Component

中获得了一个浏览器

我有一个古玩问题,需要一些步骤来实现目标:

  1. 单击(设置焦点)到rcp
  2. 中的随机视图
  3. 点击浏览器
  4. 打开另一个窗口(例如Windows资源管理器)
  5. 点击rcp
  6. 上的关闭按钮

    然后会打开一个对话框,询问您是否要关闭该程序。问题是,只有再次单击另一个视图时,您才能单击是或否。问题只出现在我的插件中。

    我在createPartControl方法中将组件添加到了框架中:

    public void createPartControl(final Composite parent) {
        //create the browser
        Composite composite = new Composite(parent, SWT.EMBEDDED);
        Frame frame = SWT_AWT.new_Frame(composite);
        frame.add(browser_component);
        //do some other stuff 
    }
    

    有人知道问题可能是什么吗?

    如果没有,我想到了一个解决方法,如果我点击浏览器,我将把注意力集中在我的代码上。我可以为浏览器创建和添加FocusListener。 我的尝试:

        //in the methode of the FocusListener  
     PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().showView("myview");
    

    但是它会抛出一个无效的线程访问异常

0 个答案:

没有答案