在Eclipse RCP Apllication中,我想在工具栏中添加一个文本小部件,只要用户更改应用程序窗口的大小,就会动态更改。我创建了一个ControlContribution并将其添加到plugin.xml中的菜单扩展点。
ControlContribution包含一个包含文本的Composite。复合材料的布局设置为网格布局,文本的布局数据是网格数据,可以抓取多余的水平空间。
但是,文本始终保持相同的大小。我还检查了通过向其添加监听器来调整工具栏大小时是否通知组合。从不调用听众。 如何才能调整文本大小?
来自ControlContribution的createControl()
方法的代码:
Composite composite = new Composite(parent, SWT.NONE);
composite.setLayout(new GridLayout());
text = new Text(composite, SWT.SINGLE | SWT.BORDER);
GridData gridDataText = new GridData();
gridDataText.grabExcessHorizontalSpace = true;
gridDataText.horizontalAlignment = GridData.FILL;
text.setLayoutData(gridDataText);
答案 0 :(得分:1)
控制贡献在冷却栏内。因此,除非Coolbar占用更多空间,否则贡献不会变得更大。你需要抓住Coolbar(当你正在创建控件时,通过父层次结构走)然后改变它的大小并更新整个布局