有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java将焦点设置在侦听器内部的视图上

我正在为Eclispe rcp构建一个带有JCEF Framework的插件。该框架是用C++编写的,并有java的包装器。有了这个框架,我在一个组件中得到了一个浏览器

我有一个古玩问题,需要采取一些步骤才能解决:

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

然后会打开一个对话框,询问是否要关闭该程序。问题是,只有再次单击其他视图时,才能单击“是”或“否”。这个问题只发生在我的插件上

我已将组件添加到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) 个答案