[英]how to invoke viewpart by java code in eclipse plugin
如何在eclipse插件项目中的菜单命令事件上调用viewpart类。 基本上我想在eclipse插件中打开awt框架,所以我为此使用viewpart类。 当用户请求时,Awt框架应打开。
我已经创建了一个菜单选项,我想在该菜单命令上打开该awt框架。 我试图使viewpart类,然后调用它,但没有用。 下面是我的viewpart类的代码
public class LabelView extends ViewPart {
public static Composite _parent;
private Label label;
public LabelView() {
super();
}
public void setFocus() {
//label.setFocus();
}
public void createPartControl(Composite parent) {
_parent=parent;
// main composite
Composite mainComposite = new Composite(parent, SWT.EMBEDDED | SWT.NO_BACKGROUND);
Frame awtframe = SWT_AWT.new_Frame(mainComposite);
java.awt.Panel awtpanel = new java.awt.Panel();
awtpanel.setLayout(new java.awt.GridLayout());
awtframe.setLayout(new java.awt.GridLayout());
awtframe.add(awtpanel);
}
}
要查找视图,请使用:
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IViewPart view = page.findView("view id");
其中,“视图ID”是您在org.eclipse.ui.views
扩展点中声明的视图的ID。
如果视图未打开view
findView将返回null,则可以使用打开查看:
view = page.showView("view id");
无论哪种情况,您都可以将视图转换为视图类并调用方法来执行您想要的操作:
LabelView myView = (LabelView)view;
myView.someMethod(); // TODO you write this method
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.