SWT:如何计算包装文本的正确大小

时间:2014-05-08 09:06:29

标签: java layout swt wrapping

我有一个Label组件,可以包含很长的文本。标签支持包装:

Label label = new Label( composite, SWT.WRAP | SWT.LEFT );

因此,当我减小父Composite的宽度时 - 只需用鼠标调整它的大小 - 文本被正确包裹,但父Composite的高度没有改变,所以我的Label的某些部分被隐藏。

enter image description here

我尝试向父组合添加调整大小监听器:

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组件/布局,如果孩子被包裹,它会动态地改变其大小?

0 个答案:

没有答案