public static void showEcliplseTab(final Shell shell)
{
Image image = new Image(shell.getDisplay(), "D:\\Program Files\\eclipseRcp\\plugins\\org.eclipse.platform.source_4.2.1.v201209141800\\eclipse32.png");
shell.setText("仿Eclipse编辑区的选项卡");
//创建自定义选项卡对象
final CTabFolder folder = new CTabFolder(shell, SWT.BORDER);
//设置选项卡的布局,通过布局的设置呈现出最大化和最小化的外观
folder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
//设置复杂的选项卡,也就是带有圆角的选项卡标签
folder.setSimple(false);
//设置未选中标签,图标和“关闭”按钮的状态
folder.setUnselectedImageVisible(true);
//设置前景色和背景色
folder.setSelectionForeground(shell.getDisplay().getSystemColor(SWT.COLOR_WHITE));
folder.setSelectionBackground(shell.getDisplay().getSystemColor(SWT.COLOR_BLUE));
//显示"最大化"和"最小化"按钮
folder.setMaximized(true);
folder.setMaximizeVisible(true);
folder.setMinimized(true);
folder.setMinimizeVisible(true);
//创建选项卡标签对象
for (int i = 1; i < 5; i++)
{
CTabItem item = new CTabItem(folder, SWT.CLOSE);
item.setText("选项卡" + i);
item.setImage(image);
//每个选项卡中放置一个Text文本框
Text text = new Text(folder, SWT.MULTI | SWT.V_SCROLL | SWT.H_SCROLL);
//文本框中的文字带有\n表示,显示时换到下一行
text.setText("这是第" + i + "页:\n该选项卡仿照Eclipse设计\n最大化和最小化都可以使用");
item.setControl(text);
}
//注册选项卡事件
folder.addCTabFolder2Listener(new CTabFolder2Adapter(){
//当单击"最小化"按钮时触发的事件
public void minimize(CTabFolderEvent event){
//设置选项卡的状态为最小化,选项卡的状态决定显示在右上角的窗口按钮,
folder.setMinimized(true);
//改变选项卡的布局,呈现最小化状态
folder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
//刷新布局,否则重新设置的布局将不起作用
shell.layout(true);
}
//当单元击“最大化”按钮时触发的事件
public void maximize(CTabFolderEvent event){
folder.setMaximized(true);
folder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
shell.layout(true);
}
//当单击"还原"按钮时触发的事件
public void restore(CTabFolderEvent event)
{
folder.setMinimized(false);
folder.setMaximized(false);
folder.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false));
shell.layout(true);
}
});
}
相关文章
- Android仿微信底部选项卡
- 我如何使用来自[org.eclipse.swt.widgets.Event]的事件的getsource()
- UI在带有SWT的Eclipse RCP中做了很奇怪的事情
- 在eclipse-rcp / swt中创建多个相同的文本验证侦听器
- Eclipse RCP使用SWT.EMBEDDED方式显示batik的svgCanvas后窗口最大化变白问题
- 如何在Eclipse RCP应用程序(SWT)中绑定组合的selectionIndex和Integer?
- eclipse swt/jface/RCP 学习网址积累[转载]
- 从重写的createWindowContents访问org.eclipse.swt.widgets.Text
- Eclipse中的JFace示例,比如SWT示例?
- 在通过数据库访问时,需要eclipse-rcp中swt.widgets.DateTime的时间格式帮助