工具栏中的文本框 Eclipse RCP 应用程序

TextBox in Toolbar Eclipse RCP Application

我试图在 Application.e4xmi 的 Eclipse RCP 应用程序按钮后的工具栏中添加一个搜索字段,但它不起作用。我创建了一个带有处理程序的 ToolControl :

@Execute
public void execute(Shell shell) 
{

     shell.setLayout(new GridLayout());
        final Composite comp = new Composite(shell, SWT.NONE);
        comp.setLayout(new GridLayout());
        Text text = new Text(comp, SWT.BORDER);
        text.setMessage("Search");
        text.setToolTipText("search");
        System.out.println("i am in SearchToolItem ");


        GridData lGridData = new GridData(GridData.FILL, GridData.FILL, true, true);
        lGridData.widthHint = 200;
        text.setLayoutData(lGridData);
}

我应该怎么做?

我假设您在 e4xmi 中将此 class 指定为 ToolControl

ToolControls 不使用 @Execute 并且它们没有被赋予 Shell

改为使用 @PostConstruct 并指定 Composite:

@PostConstruct
public void postConstruct(Composite parent)
{
   Composite comp = new Composite(parent, SWT.NONE);
   comp.setLayout(new GridLayout());

  ....
}

注意:不要更改父组合的布局。