题
我正在编写一个Eclipse插件,它有一个悬停控件,由两个控件组成,一个在另一个之上:
我可以轻松计算大小提示的HTML查看器(BrowserInformationControl)
包含树的TreeViewer。
我已经用实际内容设置了我的树。但是,我无法找到一种方法来计算树的大小或渲染后的大小提示。
解决方案
根据 org.eclipse.swt.widgets.Tree ,这应该通过以下方式完成:
public Point computeSize(int wHint,
int hHint,
boolean changed)
控件的首选大小是最佳显示的大小。
宽度提示和高度提示参数允许调用者询问控制问题,例如<!>;给定特定宽度,控件需要多高才能显示所有内容?<!> quot;点击 为了表明调用者不希望约束特定维度,为提示传递常量SWT.DEFAULT。
如果更改的标志为真,则表示接收方的内容已更改,因此需要刷新包含控件的布局管理器可能保持的任何高速缓存。调整控件的大小时,更改的标志将为false,因此可以保留布局管理器缓存。
请注意,在Windows上,computeSize()
的行为存在缺陷:请参阅消息和此错误:固定为eclipse 3.4M1并转发。
使用<=>可能是另一个有趣的替代方案。
不隶属于 StackOverflow