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. ./configure --prefix /?/? 解释

    -- ./configure :编译源码 --prefix :把所有资源文件放在 之后的路径之后

  2. RabbitMQ消息可靠性分析 - 简书

    原文:RabbitMQ消息可靠性分析 - 简书 有很多人问过我这么一类问题:RabbitMQ如何确保消息可靠?很多时候,笔者的回答都是:说来话长的事情何来长话短说.的确,要确保消息可靠不只是单单几句就 ...

  3. 【BZOJ 1486】 [HNOI2009]最小圈

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 我们可以只想那个均值最小的环. 我们不知道那个环由哪些边构成 但我们可以把每条边都减掉mid 那个环受到的影响是什么呢? 如果这个均 ...

  4. 基于nginx的静态网页部署

    背景: 一序列的html网页需要部署 基于nginx的部署: 本文采用的基于openresty的nginx 配置. 简单地配置 Nginx 的配置文件,以便在启动 Nginx 时去启用这些配置即可实现 ...

  5. 洛谷——P1351 联合权值

    https://www.luogu.org/problem/show?pid=1351 题目描述 无向连通图G 有n 个点,n - 1 条边.点从1 到n 依次编号,编号为 i 的点的权值为W i , ...

  6. 少年 DXH

    少年 DXH 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描写叙述 大家都知道,DXH 幼时性格怪癖,小朋友都不喜欢和他玩,这样的情况一直到 DXH 的少年时期也没有改变. ...

  7. UE4在VS2013中各个编译配置代表意义

    UE4中有个各式各样的编译配置,都怎么个意思呢? 对原文的理解和翻译. https://docs.unrealengine.com/latest/INT/Programming/Development ...

  8. po层和vo层中po和vo是什么意思

    POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称. pojo 是Plain Old Java Ob ...

  9. .Net MVC的学习(一)

    套种间作,也挺有意思的--近来学习感悟.DRP学习的同一时候,折腾了点曾经不曾学习可是却非常多次耳闻过的东西--Asp.Net中的MVC架构模式. 一.是什么? MVC,即(Model-View-Co ...

  10. swift学习第四章

    // Playground - noun: a place where people can play import UIKit var age=100 //假设年龄不大于50的就会在这里断言,和之前 ...