java将焦点设置在侦听器内部的视图上
我正在为Eclispe rcp构建一个带有JCEF Framework的插件。该框架是用C++编写的,并有java的包装器。有了这个框架,我在一个组件中得到了一个浏览器
我有一个古玩问题,需要采取一些步骤才能解决:
- 在rcp中单击(设置焦点)随机视图
- 在浏览器中单击
- 打开另一个窗口(例如windows资源管理器)
- 点击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) 个答案