在 Eclipse RCP 应用程序中,我想向工具栏添加一个文本小部件,只要用户更改应用程序窗口的大小,该文本小部件就会动态更改。我创建了一个 ControlContribution 并将其添加到 plugin.xml 中的菜单扩展点。
ControlContribution 由保存文本的 Composite 组成。合成的布局设置为网格布局,文本的布局数据是启用了抓取多余水平空间的网格数据。
但是,文本始终保持相同的大小。我还检查了在调整工具栏大小时是否通过向其添加监听器来通知复合 Material 。监听者永远不会被调用。 如何调整文本大小?
来自 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);
最佳答案
控制贡献位于酷栏内。所以除非Coolbar占用更多的空间,否则贡献就不可能更大。您需要捕获 Coolbar(当创建控件时,遍历父层次结构),然后更改它的大小并更新整个布局
关于java - 向 Eclipse 工具栏添加可调整大小的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5418072/