我有一个Label组件,可以包含很长的文本。标签支持包装:
Label label = new Label( composite, SWT.WRAP | SWT.LEFT );
因此,当我减小父Composite的宽度时 - 只需用鼠标调整它的大小 - 文本被正确包裹,但父Composite的高度没有改变,所以我的Label的某些部分被隐藏。
我尝试向父组合添加调整大小监听器:
expandBar.addListener( SWT.Resize, new Listener() {
public void handleEvent( Event e ) {
Point p = label.computeSize( SWT.DEFAULT, SWT.DEFAULT ) // compute size of the text
int h = p.y; // ! THIS value doesn't change
// despite text in label became wrapped
// now set expandBar current item's height = h;
}
} );
有没有办法计算组件在包装方面的高度? 如果不是,是否存在SWT组件/布局,如果孩子被包裹,它会动态地改变其大小?