如何在eclipse插件

时间:2016-02-08 14:25:32

标签: java eclipse 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);
    }
}

1 个答案:

答案 0 :(得分:0)

要查找视图,请使用:

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