• 介绍

你是不是还不知道SWT有哪些常用的组件?还不知道怎么用?看这里吧。

  • 选项卡

[codesyntax lang="java"]


TabFolder mainCom = new TabFolder(parent, SWT.None);

TabItem metaDataItem = new TabItem(mainCom, SWT.None);
metaDataItem.setText("MetaData");

TabItem headersItem = new TabItem(mainCom, SWT.None);
headersItem.setText("Headers");


[/codesyntax]

  • 滚动条

[codesyntax lang="java"]


/**
* @author http://surenpi.com
* @date 2015年7月17日
*/
package org.suren.littlebird.editors;

import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.ScrolledComposite;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.TabFolder;
import org.eclipse.swt.widgets.TabItem;
import org.suren.littlebird.po.BundleHeader;

/**
* @author http://surenpi.com
*
* @2015年7月17日
*/
public class Test {
void test()
{
TabFolder mainCom = new TabFolder(parent, SWT.None);
TabItem headersItem = new TabItem(mainCom, SWT.None);
headersItem.setText("Headers");

ScrolledComposite scrolledComposite = new ScrolledComposite(mainCom, SWT.BORDER | SWT.H_SCROLL | SWT.V_SCROLL);
Composite headersComposite = new Composite(scrolledComposite, SWT.None);
headersComposite.setLayout(new GridLayout(2, false));
headersItem.setControl(scrolledComposite);
for(int i = 0; i < 100; i++)
{
new Label(headersComposite, SWT.None).setText(String.valueOf(i));
}
scrolledComposite.setContent(headersComposite);
scrolledComposite.setMinSize(headersComposite.computeSize(SWT.DEFAULT, SWT.DEFAULT));
scrolledComposite.setExpandHorizontal(true);
scrolledComposite.setExpandVertical(true);
}
}


[/codesyntax]

 

要是动态添加组件的话,一定要在添加完组件后调用scrolledComposite的方法。

  • 动态添加组件

动态添加组件后,需要调用下面的代码来对界面进行刷新,不然的话是看不到的。

composite.layout(true)