需要在TabItem中加入ScrolledComposite,试了一天都没成功,常常遇到滚动条不见的问题。最后用曲折的方法搞定
核心代码如下
tabItem2.setControl(addSc(tabFolder1));
/**
* 加入ScrolledComposite
* @param grandparent 必须是GridLayout
* @return
*/
private Composite addSc(Composite grandparent) {
Composite parent=new Composite(grandparent, SWT.BORDER);
//sc的父窗口必须是FillLayout
parent.setLayout(new FillLayout());
ScrolledComposite sc = new ScrolledComposite(parent, SWT.BORDER
| SWT.V_SCROLL | SWT.H_SCROLL);
Composite c = new Composite(sc, SWT.NONE);
c.setSize(400, 400);
c.setLayout(new GridLayout(1, true));
for (int i = 0; i < 1000; i++) {
new Button(c, SWT.PUSH).setText("Text" + i);
}
sc.setMinSize(c.computeSize(SWT.DEFAULT, SWT.DEFAULT));
sc.setContent(c);
sc.setExpandHorizontal(true);
sc.setExpandVertical(true);