`
lzj0470
  • 浏览: 1277164 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

SWT的CTabFolder练习手记

    博客分类:
  • swt
阅读更多

这个例子是使用自定义选项卡的例子,实现的功能是最大,最小化。在运用中这种是很常见的,贴上来备忘。

Java代码
  1. package com.example.swt.ctabfoldersample;   
  2.   
  3. import org.eclipse.swt.SWT;   
  4. import org.eclipse.swt.custom.CTabFolder;   
  5. import org.eclipse.swt.custom.CTabFolder2Adapter;   
  6. import org.eclipse.swt.custom.CTabFolderEvent;   
  7. import org.eclipse.swt.custom.CTabItem;   
  8. import org.eclipse.swt.graphics.Color;   
  9. import org.eclipse.swt.graphics.Image;   
  10. import org.eclipse.swt.layout.GridData;   
  11. import org.eclipse.swt.layout.GridLayout;   
  12. import org.eclipse.swt.widgets.Display;   
  13. import org.eclipse.swt.widgets.Shell;   
  14. import org.eclipse.swt.widgets.Text;   
  15.   
  16. public class CTabFolderSample   
  17. {   
  18.     public static void main(String[] args)   
  19.         {   
  20.             final Display display = Display.getDefault();   
  21.             final Shell shell = new Shell();   
  22.             shell.setSize(296255);   
  23.             shell.setText("CTabFolder 练习");   
  24.             shell.setLayout(new GridLayout());   
  25.             //   
  26.   
  27.             shell.open();   
  28.   
  29.             final CTabFolder tabFolder = new CTabFolder(shell, SWT.NONE|SWT.CLOSE|SWT.BORDER);   
  30.             tabFolder.addCTabFolder2Listener(new CTabFolder2Adapter() {   
  31.                 public void minimize(CTabFolderEvent event) {   
  32.                         tabFolder.setMinimized(true);   
  33.                         tabFolder.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,false));   
  34.                         shell.layout(true);//刷新布局   
  35.                 }   
  36.                 public void maximize(CTabFolderEvent event) {   
  37.                         tabFolder.setMaximized(true);   
  38.                         tabFolder.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,true));   
  39.                         shell.layout(true);   
  40.                 }   
  41.                 public void restore(CTabFolderEvent event) {   
  42.                         tabFolder.setMinimized(false);   
  43.                         tabFolder.setMaximized(false);   
  44.                         tabFolder.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,false));   
  45.                         shell.layout(true);   
  46.                 }   
  47.             });   
  48.             //tabFolder.setBounds(0, 0, 283, 211);   
  49.             tabFolder.setTabHeight(20);   
  50.             tabFolder.marginHeight = 5;   
  51.             tabFolder.marginWidth = 5;   
  52.             tabFolder.setMaximizeVisible(true);   
  53.             tabFolder.setMinimizeVisible(true);   
  54.             tabFolder.setLayoutData(new GridData(SWT.FILL,SWT.FILL,true,false));   
  55.             //下面两个是设置固定的背景色和前景色   
  56.             //tabFolder.setBackground(display.getSystemColor(SWT.COLOR_BLUE));   
  57.             //tabFolder.setForeground(display.getSystemColor(SWT.COLOR_WHITE));   
  58.             //下面是设置渐变色   
  59.             Color[] color=new Color[4];   
  60.             color[0]=display.getSystemColor(SWT.COLOR_DARK_BLUE);   
  61.             color[1]=display.getSystemColor(SWT.COLOR_BLUE);   
  62.             color[2]=display.getSystemColor(SWT.COLOR_DARK_GRAY);   
  63.             color[3]=display.getSystemColor(SWT.COLOR_WHITE);   
  64.             int[] intArray=new int[]{25,45,100};   
  65.             tabFolder.setSelectionBackground(color, intArray);   
  66.             //这是设置了背景颜色,但是如果同时设置了背景图片的话以背景图片优先   
  67.             tabFolder.setSimple(false);//设置圆角   
  68.             tabFolder.setUnselectedCloseVisible(true);   
  69.             for (int i = 1; i < 4; i++) {   
  70.                 CTabItem item = new CTabItem(tabFolder, SWT.None|SWT.MULTI|SWT.V_SCROLL);   
  71.                 item.setText("选项卡" + i);   
  72.                 Text t = new Text(tabFolder, SWT.None|SWT.MULTI|SWT.V_SCROLL|SWT.H_SCROLL|SWT.WRAP);   
  73.                 t.setText("这是选项卡可以控制的文字" + i+"\n\n世界第一等\n\n一路顺风");   
  74.                 item.setControl(t);   
  75.   
  76.             }   
  77.             Image image=new Image(display,"C:\\Documents and Settings\\Administrator\\桌面\\label.jpg");   
  78.             shell.setImage(image);     
  79.             shell.setSize(300200);   
  80.             shell.layout();   
  81.             while (!shell.isDisposed()) {   
  82.                 if (!display.readAndDispatch())   
  83.                     display.sleep();   
  84.             }   
  85.         }   
  86.   
  87. }   

大小: 12.15 K
尺寸: 298 x 197
浏览: 56 次
点击打开新窗口浏览全图

大小: 12.91 K
尺寸: 302 x 197
浏览: 51 次
点击打开新窗口浏览全图

说明:

第一、状态说明,根据选项卡的状态右上角显示最大化还是最小化还是回复的按钮。设置最小化的方法:setMinimized(true),设置最大化:setMaximized(true),设置为既不是最大也不是最小的办法是:同时把setMinimized和setMaximized设置为false。

获取状态的方法是:是否最大化getMinimized(),是否最大化getMaximized()。

第二、限制选项卡文字的长度:

tabFolder.setminimumCharacters(int)设置选项卡文字的最小长度。

第三、设置右上角控件

Button button=new Button(tabFolder,SWT.ARROW|SWT.RIGHT);

tabFolder.setTopRight(button);

    
//tabFolder.setTopRight(button,SWT.FILL);//布满右侧区域

分享到:
评论

相关推荐

    swt和JFace练习,整合eclipse

    本文将深入探讨SWT和JFace的相关知识点,并结合实际的“SWTProjec”练习案例进行说明。 SWT是Eclipse开源组织推出的一个GUI库,它直接与操作系统进行交互,以实现更高效的性能。SWT提供了丰富的控件集合,包括按钮...

    关于swing和swt的小练习

    这个“关于swing和swt的小练习”压缩包文件提供了一些实际的代码示例,帮助开发者深入理解这两种技术。 Swing是Java Foundation Classes (JFC)的一部分,由纯Java编写,因此具有跨平台性。它提供了丰富的组件集合,...

    swt开发者手记

    《SWT开发者手记》是一本专为Java开发者设计的指南,旨在帮助读者从入门到精通SWT(Standard Widget Toolkit)技术。SWT是Eclipse基金会开发的一个开源GUI(图形用户界面)库,它提供了与操作系统原生界面的紧密集成...

    swt-64.rar_64位swt_64的SWT_SWT64_swt.jar 64位_swt64位

    标题“swt-64.rar_64位swt_64的SWT_SWT64_swt.jar 64位_swt64位”表明这个压缩包包含了适用于64位Windows操作系统的SWT库。描述中提到的“64位windows操作系统使用的SWT库”进一步确认了这一点。 SWT的设计目标是...

    org.eclipse.swt.win32

    org.eclipse.swt.custom.CTabFolder2Listener.class org.eclipse.swt.custom.CTabFolderAdapter.class org.eclipse.swt.custom.CTabFolderEvent.class org.eclipse.swt.custom.CTabFolderLayout.class org.eclipse....

    SWT源码 swt.jar

    SWT(Standard Widget Toolkit)是Eclipse项目的一个重要组成部分,它提供了一套用于构建图形用户界面(GUI)的API,与Java Swing不同,SWT基于操作系统原生的UI组件,因此能够实现更好的性能和与操作系统的集成。...

    SWT配置 SWT配置 SWT配置 SWT配置 SWT配置

    ### SWT配置详解 #### 一、SWT简介与配置的重要性 SWT(Standard Widget Toolkit)是一种用于构建基于Java的应用程序的图形用户界面工具包。它提供了丰富的控件集,并能够生成本地外观和感觉的界面,这使得应用在...

    swt-api swt DOC

    【标题】"swt-api swt DOC" 指的是一个关于SWT(Standard Widget Toolkit)API的文档,主要用于Java GUI(图形用户界面)开发。这个文档可能是开发者们在使用SWT进行界面设计时的重要参考资料。 【描述】"java界面...

    java界面库swt.jar 4.911

    下载编译的SWT库,版本号4.911,包含多个版本: org.eclipse.swt.cocoa.macosx.x86_64 org.eclipse.swt.gtk.linux.aarch64 org.eclipse.swt.gtk.linux.arm org.eclipse.swt.gtk.linux.ppc64le org.eclipse.swt.gtk....

    SWT JFace 按键、事件、监听

    ### SWT JFace 按键、事件、监听 #### 概述 SWT(Standard Widget Toolkit)是Eclipse平台下的图形界面开发工具包,而JFace则是基于SWT之上的高级用户界面工具集。SWT提供了低级别的组件,用于创建跨平台的图形...

    swt教程 有关SWT怎么应用

    在本文中,我们将深入探讨SWT(Standard Widget Toolkit)的应用,以及如何在Java应用程序中使用它。SWT是由IBM公司为Eclipse集成开发环境设计的一种图形用户界面(GUI)工具包,它通过JNI(Java Native Interface)...

    swt工具文档 swt工具文档

    SWT(Standard Widget Toolkit)是Java编程环境中一个用于创建图形用户界面(GUI)的开源库。它是Eclipse项目的一部分,旨在提供与操作系统更紧密的集成,使得开发者可以创建原生外观的应用程序。SWT提供了丰富的...

    java swt自定义控件

    Java SWT(Standard Widget Toolkit)是Java平台上用于创建桌面应用程序的一个库,它提供了丰富的用户界面元素,如按钮、文本框、列表等。SWT是Eclipse IDE的基础,它通过与操作系统直接交互来提供本地化的图形用户...

    SWT examples,SWT官方例子

    SWT examples,SWT官方例子:http://www.eclipse.org/swt/examples.php 该页面所要下载的例子 其中,swt的例子在\plugins\org.eclipse.swt.examples.source_3.7.0.v3740f.jar中

    swt table 实现换行

    根据提供的文件信息,可以看出本文主要讨论的是如何在 SWT (Standard Widget Toolkit) 的 Table 控件中实现文本换行的功能。SWT 是一个用于开发基于 Java 的桌面应用程序的工具包,它提供了丰富的用户界面组件来帮助...

    DJNativeSwing-SWT.jar、DJNativeSwing.jar、swt-win-x64.jar

    Java平台上的图形用户界面(GUI)开发通常依赖于各种库和框架,DJNativeSwing和SWT(Standard Widget Toolkit)是其中两个重要的组件。本文将详细介绍这三个提及的JAR文件以及它们在Java应用中的作用。 首先,...

    swt windows平台64位的包

    SWT (Standard Widget Toolkit) 是一个开放源代码的Java库,用于在各种操作系统上创建图形用户界面(GUI)。它是Eclipse项目的一部分,提供了一种替代Java标准库AWT和Swing的方式,允许开发者构建与本机系统更加紧密...

    SWT 弹出对话框 可以选择的图标种类

    SWT(Standard Widget Toolkit)是Java编程中用于创建图形用户界面(GUI)的一种库,它为开发者提供了丰富的控件和对话框。在SWT中,`MessageBox`是一个用于显示简单的消息对话框的类,通常用来向用户显示警告、确认...

    SWT源代码 SWT Source code

    SWT(Standard Widget Toolkit)是Eclipse开源项目中的一部分,主要用于构建GUI(图形用户界面)应用程序。它提供了一组与操作系统紧密集成的图形控件,允许开发者创建原生外观的应用程序。SWT的设计目标是提高性能...

    swt.jar swt.jar swt.jar

    swt.jar swt.jar swt.jar swt.jar swt.jar

Global site tag (gtag.js) - Google Analytics