工具栏中的文本框 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());
....
}
注意:不要更改父组合的布局。
我试图在 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());
....
}
注意:不要更改父组合的布局。