SWT自定义选项卡CTabFolder

学习了:http://blog.csdn.net/dreajay/article/details/17391731

package com.swt;

import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CTabFolder;
import org.eclipse.swt.custom.CTabFolder2Adapter;
import org.eclipse.swt.custom.CTabFolderEvent;
import org.eclipse.swt.custom.CTabItem;
import org.eclipse.swt.graphics.Color;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text; public class Test02 {
public static void main(String[] args) {
final Display display = Display.getDefault();
final Shell shell = new Shell();
shell.setSize(296, 255);
shell.setText("CTabFolder 练习");
shell.setLayout(new GridLayout());
// shell.open(); final CTabFolder tabFolder = new CTabFolder(shell, SWT.NONE|SWT.CLOSE| SWT.BORDER);
tabFolder.addCTabFolder2Listener(new CTabFolder2Adapter() {
public void minimize(CTabFolderEvent event) {
tabFolder.setMinimized(true);
tabFolder.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,false));
shell.layout(true);//刷新布局
}
public void maximize(CTabFolderEvent event) {
tabFolder.setMaximized(true);
tabFolder.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true));
shell.layout(true);
}
public void restore(CTabFolderEvent event) {
tabFolder.setMinimized(false);
tabFolder.setMaximized(false);
tabFolder.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,false));
shell.layout(true);
}
});
//tabFolder.setBounds(0, 0, 283, 211);
tabFolder.setTabHeight(20);
tabFolder.marginHeight = 5;
tabFolder.marginWidth = 5;
tabFolder.setMaximizeVisible(true);
tabFolder.setMinimizeVisible(true);
tabFolder.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,false));
//下面两个是设置固定的背景色和前景色
// tabFolder.setBackground(display.getSystemColor(SWT.COLOR_BLUE));
// tabFolder.setForeground(display.getSystemColor(SWT.COLOR_WHITE));
//下面是设置渐变色
// Color[] color=new Color[4];
// color[0]=display.getSystemColor(SWT.COLOR_DARK_BLUE);
// color[1]=display.getSystemColor(SWT.COLOR_BLUE);
// color[2]=display.getSystemColor(SWT.COLOR_DARK_GRAY);
// color[3]=display.getSystemColor(SWT.COLOR_WHITE);
// int[] intArray=new int[]{25,45,100};
// tabFolder.setSelectionBackground(color, intArray);
//这是设置了背景颜色,但是如果同时设置了背景图片的话以背景图片优先
tabFolder.setSimple(false);//设置圆角
// tabFolder.setUnselectedCloseVisible(true);
for (int i = 1; i < 4; i++) {
CTabItem item = new CTabItem(tabFolder, SWT.None|SWT.MULTI|SWT.V_SCROLL);
item.setText("选项卡" + i);
Text t = new Text(tabFolder, SWT.None|SWT.MULTI|SWT.V_SCROLL|SWT.H_SCROLL|SWT.WRAP);
t.setText("这是选项卡可以控制的文字" + i+"\n\n世界第一等\n\n一路顺风");
item.setControl(t); }
Image image=new Image(display,"D:\\label.jpg");
shell.setImage(image);
shell.setSize(300, 200);
shell.layout();
while (!shell.isDisposed()) {
if (!display.readAndDispatch())
display.sleep();
}
}
}

SWT自定义选项卡CTabFolder的更多相关文章

  1. excel快速访问工具栏和自定义选项卡

    自定义选项卡: excel命令选项--自定义功能区--

  2. iOS 自定义选项卡-CYLTabBarController

    正常的选项卡流程 cocoapods就不说了 创建一个CYLTabBarControllerConfig类 #import <Foundation/Foundation.h> #impor ...

  3. angularui 自定义选项卡

    ng-include 选取ng-template <!DOCTYPE html> <html lang="en" ng-app="myApp" ...

  4. ViewPager自定义选项卡

    转自:http://www.open-open.com/lib/view/open1352621601262.html

  5. WPF实现选项卡效果(3)——自定义动态添加的AvalonDock选项卡内容

    原文:WPF实现选项卡效果(3)--自定义动态添加的AvalonDock选项卡内容 简介 在前面一篇文章里面,我们实现了AvalonDock选项卡的动态添加,但是对于选项卡里面的内容,我们并没有实现任 ...

  6. 可视化(番外篇)——SWT总结

    本篇主要介绍如何在SWT下构建一个应用,如何安装SWT Designer并破解已进行SWT的可视化编程,Display以及Shell为何物.有何用,SWT中的常用组件.面板容器以及事件模型等. 1.可 ...

  7. swt,jface,rcp

    //swt-jface-rcp,基本结构:display类,shell类,组件:widget窗口控件,control控件,composites面板,button,label,text文本框,list列 ...

  8. Fragment实现底部选项卡切换效果

    现在很多APP的样式都是底部选项卡做为首页的,实现这样的效果,我们一般有这样几种方式,第一,最屌丝的做法,我直接自定义选项卡视图,通过监听选项卡视图,逻辑控制内容页的切换,这样做的想法一般是反正这几个 ...

  9. 自定义和扩展 SharePoint 2010 Server 功能区

    了解构成 SharePoint 2010 服务器功能区的组件以及如何通过演练两个功能区自定义项方案来自定义功能区. 适用范围: Microsoft SharePoint Foundation 2010 ...

随机推荐

  1. 半虚拟化驱动virtio-Windows

    下载网站 Downloads - KVM http://www.linux-kvm.org/page/Downloads yum 安装: [root@kvm-server ~]# wget https ...

  2. Android开发进度05

    1,今日:目标:完成后台用户的增删改查 2,昨天:完成登录和注册功能 3,收获:熟练了SQLite操作 4,问题:无

  3. 紫书 例题8-2 UVa 11605(构造法)

    这道题方法非常的巧妙, 两层的n*n, 第一层第I行全是第I个国家, 第二层的第j列全是第j个国家.这样能符合题目的条件.比如说第1个国家, 在第一层的第一行全是A, 然后在第二层的第一行就有ABCD ...

  4. js常用特效——选项卡效果

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. 加密中加salt的意思

    所谓加Salt,就是加点“佐料”.当用户首次提供密码时(通常是注册时),由系统自动往这个密码里加一些“Salt值”,这个值是由系统随机生成的,并且只有系统知道.然后再散列.而当用户登录时,系统为用户提 ...

  6. 【codeforces 229C】Triangles

    [题目链接]:http://codeforces.com/problemset/problem/229/C [题意] 给你一张完全图; 然后1个人从中选择m条边; 然后另外一个人从中选择剩余的n*(n ...

  7. jquery-jquery异步提交表单插件

    使用jquery.form可以异步提交文件或者表单,下面的代码演示了如何提交文件 http://apps.bdimg.com/libs/jquery/2.1.1/jquery.min.js <s ...

  8. 洛谷 P2652 同花顺

    P2652 同花顺 题目背景 所谓同花顺,就是指一些扑克牌,它们花色相同,并且数字连续. 题目描述 现在我手里有n张扑克牌,但它们可能并不能凑成同花顺.我现在想知道,最少更换其中的多少张牌,我能让这 ...

  9. jquery mobile常用的data-role类型介绍

    转自原文 jquery mobile常用的data-role类型介绍 data-role参数表: page        页面容器,其内部的mobile元素将会继承这个容器上所设置的属性 header ...

  10. spring boot pom

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...