一个选项卡TabFolder由一个或者多个TabItem构成。
TabItem通过setControl(Control control)方法设置所控制显示的控件。
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.layout.*;
public class ABB{
public static void main(String[] args){
Display display=new Display();
Shell shell=new Shell(display);
shell.setText("选项卡TabFolder练习");
FillLayout layout=new FillLayout();
layout.marginHeight=20;
layout.marginWidth=20;
shell.setLayout(layout);//必须要有
//shell.setLayout(new FillLayout(SWT.HORIZONTAL));//必须要有
//创建选项卡
TabFolder tabFolder=new TabFolder(shell,SWT.TOP);
//为选项卡添加标签对象
for(int i=0;i<4;i++){
TabItem item=new TabItem(tabFolder,SWT.NONE);
item.setText("选项卡"+i);
//为选项卡对象添加可控文本
Text text=new Text(tabFolder,SWT.MULTI);
text.setText("这是第"+i+"页");
//将选项卡标签与可控文本进行关联
item.setControl(text);
}
//打开窗口,进行窗口的显示
//shell.setSize(400,400);
shell.pack();
shell.open();
while(!shell.isDisposed()){
//当窗口没有被释放的时候
if(!display.readAndDispatch()){
display.sleep();
}
}
display.dispose();
}
}
CTabFolder tabFolder=new CTabFolder(shell,SWT.CLOSE);//带关闭的选项卡
当点击关闭的按钮时,关闭选项卡,则其CTabItem对象也就销毁了,这个选项中的控件也就销毁了。
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.*;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabItem;
import org.eclipse.swt.layout.*;
public class B{
public static void main(String[] args){
Display display=new Display();
Shell shell=new Shell(display);
shell.setText("CTabFolder自定义选项卡CTabItem自定义选项卡标签");
FillLayout layout=new FillLayout();
layout.marginHeight=20;
layout.marginWidth=20;
shell.setLayout(layout);//必须要有
//shell.setLayout(new FillLayout(SWT.HORIZONTAL));//必须要有
//创建CTabFolder对象,顶部显示选项卡
//CTabFolder tabFolder=new CTabFolder(shell,SWT.TOP);//顶部显示选项卡
//CTabFolder tabFolder=new CTabFolder(shell,SWT.CLOSE);//带关闭按钮的选项卡
CTabFolder tabFolder=new CTabFolder(shell,SWT.CLOSE|SWT.BORDER);//带关闭按钮又带边框的选项卡
//设置选项卡的布局
tabFolder.setLayout(new FillLayout());
//设置选项标签的高度
tabFolder.setTabHeight(20);
//设置选项标签上下左右补白
tabFolder.marginHeight=10;
tabFolder.marginWidth=10;
//自定义选项卡还可以显示最大化最小化按钮,没有做事件处理的话,他们是无作用的
tabFolder.setMaximizeVisible(true);
//显示最小化按钮
tabFolder.setMinimizeVisible(true);
//为选项卡添加选项标签
for(int i=0;i<4;i++){
CTabItem item = new CTabItem(tabFolder,SWT.NONE);
//设置选项卡标签的文本
item.setText("选项卡"+i);
//设置选项卡所控制的对象
Text text=new Text(tabFolder,SWT.MULTI);
text.setText("这是第"+i+"页");
//将选项卡标签与所控制的控件关联
item.setControl(text);
}
tabFolder.pack();
//打开窗口,进行窗口的显示
//shell.setSize(400,400);
shell.pack();
shell.open();
while(!shell.isDisposed()){
//当窗口没有被释放的时候
if(!display.readAndDispatch()){
display.sleep();
}
}
display.dispose();
}
}