0

我是 RCP 的初学者,今天刚刚开始构建 RCP 应用程序。我想要一个 GUI 组件,如编辑器中的按钮、组合框、复选框。我已经设法在扩展中添加一个编辑器并为它创建一个类。我有编写代码以在 creatPartControl 中创建标签,但它不起作用..我得到一个黑色窗口。我应该像这样添加编辑器吗

layout.addStandaloneView(Editor.id, true, IPageLayout.TOP,0.7f,
                layout.getEditorArea());
layout.addStandaloneView(View.ID, true, IPageLayout.BOTTOM,0.4f,
                layout.getEditorArea());

请帮我解决这个问题。如果可能,请举例说明如何添加编辑器并在其中创建标签和按钮。提前感谢您的帮助,代码在我的 Editor.java 内容中createPartControl()

parent.setLayout(new GridLayout());
Button b=new Button(parent,SWT.TOGGLE);

b.setText("Hello ");
Label label1 = new Label(parent, SWT.NONE);
label1.setText("First Name");


package com.hello;

import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.part.EditorPart;

public class Editor extends EditorPart {
    public static final String ID = "TestApplication.editor3";

    public Editor() {
        // TODO Auto-generated constructor stub
    }

    @Override
    public void doSave(IProgressMonitor monitor) {
        // TODO Auto-generated method stub

    }

    @Override
    public void doSaveAs() {
        // TODO Auto-generated method stub

    }

    @Override
    public void init(IEditorSite site, IEditorInput input)
            throws PartInitException {
        // TODO Auto-generated method stub

    }

    @Override
    public boolean isDirty() {
        // TODO Auto-generated method stub
        return false;
    }

    @Override
    public boolean isSaveAsAllowed() {
        // TODO Auto-generated method stub
        return false;
    }

    @Override
    public void createPartControl(Composite parent) {
        Label label = new Label(parent, SWT.NONE);
        label.setText("sssssss");
    }

    @Override
    public void setFocus() {
        // TODO Auto-generated method stub

    }

}
4

2 回答 2

0

自从我从事 Eclipse 编辑器工作以来已经有好几年了。这是编辑器的屏幕截图,因此您可以看到我所做的不仅仅是添加一个按钮。

Cobol 编辑器

  • 我扩展了 Viewer 类来创建编辑器的 GUI。
  • 我扩展了 EditorPart 类来创建编辑器的功能。

由于我正在构建的编辑器类型,我必须创建自己的 Canvas 版本和自己的 IDocument 版本。

于 2013-01-03T15:08:37.210 回答
0

您没有正确初始化编辑器,并且在打开编辑器时会导致问题。填写您的init()方法,如下所示,看看这是否有帮助:

@Override
public void init(IEditorSite site, IEditorInput input)
        throws PartInitException {
    setSite(site);
    setInput(input);
}
于 2013-01-03T15:29:06.157 回答