使用Eclipse进行SWT编程(5)

初学者之【eclipse搭载SWT环境】 2、在src的目录下创建Packge 包 ,然后右击改包 【new->other->WindowBuilder->SWT Designer->SWT->ApplicationWidow 】命名随你!1、打开Eclipse,【new->other->WindowBuilder->SWT Designer->SWT/JFace。4、回到eclipse,找到【"Help"→"lnstall New Software"】,如下。,点击自己的eclipse版本号(比如我点的就是2023-03),如下。 阅读详情

8.3. 组合窗口组件Composite Widgets

组合窗口组件可以容纳其他的组合窗口组件。Composite类是组合窗口组件的父类。

                            

图 10. Composite可以容纳其他的组合类

组合类可以容纳其他的组合类。这种容纳关系是用一个组合窗口组件类的构造函数来建造的。与Swing相比,SWT没有add() 方法;作为代替,你必须使用构造函数来建立包容关系结构。

正如图10中所看到的,Shell类也是一个组合类。也就是说,Shell对象,可以容纳其他的组合类。

组合类是可以卷起的,也就是说可以使用SWT.H_SCROLL和SWT.V_SCROLL常量给组合窗口组件加上滚动条。

8.3.1. Table窗口组件

Table窗口组件可以显示一批字符串项或者图片。与其他的组合窗口组件相比,不能给table窗口组件增加组合控件。Table窗口组件的子构件必须是TableItem类型的。

                         

图 11. Table窗口组件

表7中的常量可以用于table窗口组件

表 7. SWT Table style bit常量

SWT.MULTI
SWT.SINGLE

使能够进行单一或者多项选择

SWT.FULL_SELECTION

使能够进行行全选

SWT.CHECK

在每一行的开始显示一个选择框

源代码 8 中的代码片断表明了含有两列的table组件的使用方法

源代码 8. Table窗口组件例子

  final Table table =

    new Table(shell,SWT.SINGLE);

  TableColumn col1  =

    new TableColumn(table,SWT.LEFT);

  col1.setText("Coloumn 1");

  col1.setWidth(80);

  TableColumn col2  =

    new TableColumn(table,SWT.LEFT);

  col2.setText("Coloumn 2");

  col2.setWidth(80);

 

  TableItem item1 = new TableItem(table,0);

  item1.setText(new String[]{"a","b"});

  TableItem item2 = new TableItem(table,0);

  item2.setText(new String[]{"a","b"});

 

  table.setHeaderVisible(true);

  table.setLinesVisible(true);

8.3.2. Combo(组合框)窗口组件

Combo窗口组件允许用户从值列表中选择一个值或者随意输入一个新值。组合框(combo)类似于列表组件,却使用了有限的空间。

虽然组合框是组合性质的,但是对它增加子元素是没有意义的。它的元素必须是String类型。一元素可以使用Combo类中定义的add(String element)方法来添加到组合框中。

      

图 12. 不同样式的组合框

下边的SWT常量可以用于Combo窗口组件:

Table 8. SWT Combo style bit constants

SWT.DROP_DOWN

下拉式组合框

SWT.READ_ONLY

只读组合框

SWT.SIMPLE

简单的组合框(非下拉式组合框)。如图11所示

下边的例子说明了Combo组件的使用:

Source 9. Combo example

 final Combo combo =

   new Combo(shell,SWT.DROP_DOWN);

 for (int i = 1; i < 11; i++)

 {

   combo.add(i+".) element ");

 }

 combo.setText("Text");

 combo.addSelectionListener(

  new SelectionAdapter()

  {

    public void widgetSelected(SelectionEvent e)

    {

      System.out.println("Selection:"+

                         combo.getText());

    }

  }

 );

8.3.3. Tree窗口组件

Tree窗口组件描绘了树中项的可选择层次结构。虽然Tree类是组合的,但是不能对它增加组合类对象。Tree类的子项必须是ThreeItem类型。

     

图 13. 不同样式的Tree窗口组件

下表是Tree组件常量的列表。

表 9. SWT Tree style bit 常量

SWT.SINGLE
SWT.MULTI

允许单选或者多选

SWT.CHECK

在每个节点的开始显示一个选择框。

下边是一个简单的Tree组件例子。

源代码 10. Tree例子

 final Tree tree =

   new Tree(shell,SWT.SINGLE);

 for (int i = 1; i < 11; i++)

 {

   final TreeItem item1  =

    new TreeItem(tree,SWT.NULL);

   item1.setText("node "+i);

   for (int j = 1; j < 6; j++)

   {

     final TreeItem item11 =

      new TreeItem(item1,SWT.NULL);

     item11.setText("node "+i+"."+j);

   }

 }

 

 tree.addSelectionListener(

  new SelectionAdapter()

  {

   public void widgetSelected(SelectionEvent e)

   {

     System.out.println("Selection:"+

                   tree.getSelection()[0]);

   }

  }

 );

8.3.4. TabFolder

TabFolder组件允许用户从一些页面中选择一页。虽然它是组合的,但是它不能增加其他的组合窗口组件。加到TabFolder的组件必须是TabItem类型。Tab的内容可以使用TabItem的setControl(Control control) 方法来设置。

                              

图 14. TabFolder窗口组件

一个简单的TabFolder例子:

源代码 11. TabFolder例子

 final TabFolder tabFolder =

   new TabFolder( shell, SWT.BORDER);

 for (int i=1; i<5; i++)

 {

   // create a TabItem

   TabItem item =

     new TabItem( tabFolder, SWT.NULL);

   item.setText( "TabItem " + i);

   // create a control

   Label label  =

     new Label( tabFolder, SWT.BORDER);

   label.setText( "Page " + i);

   // add a control to the TabItem

   item.setControl( label );

 }

8.3.5. CoolBar窗口组件

CoolBar窗口组件提供了一个可以在动态摆放空间上增加项的区域。你可以增加一个或多个ToolBar组件到CoolBar上。一个CoolBar可一容纳一个或多个CoolItems。虽然是一个组合窗口组件,但是不能把其他组合类加到它上。CoolBar的子元素必须是CoolItem类型。

                            

                              

图 15. Coolbar窗口组件

CoolBar窗口组件使用的例子:

Source 12. CoolBar example

  CoolBar coolBar =

    new CoolBar(shell, SWT.BORDER);

  coolBar.setLayoutData(

    new FillLayout());

  // create a tool bar which it

  // the control of the coolItem

  for (int k = 1; k <3; k++)

  { 

    ToolBar toolBar =

      new ToolBar(coolBar, SWT.FLAT);

    for (int i = 1; i < 5; i++)

    {

      ToolItem item =

        new ToolItem(toolBar, SWT.NULL);

      item.setText("B"+k+"."+i);

    }

    // Add a coolItem to a coolBar

    CoolItem coolItem =

      new CoolItem(coolBar, SWT.NULL);

    // set the control of the coolItem

    coolItem.setControl(toolBar);

    // You have to specify the size

    Point size =

      toolBar.computeSize( SWT.DEFAULT,

                           SWT.DEFAULT);

    Point coolSize =

      coolItem.computeSize (size.x, size.y);

    coolItem.setSize(coolSize);

  }

8.4. 具有子项控件的概述

有些控件接受子组件作为子项。如,一个组合组件接受组合组件。有些组件只需要item(项)这样的组件如表10所列:

表 10. 有项的组件

窗口组件

项

描述

CoolBar

CoolItem

项是可选择的,动态的摆放在CoolBar的区域上。

Menu

MenuItem

项是菜单下的选择。

TabFolder

TabItem

项是TabFolder中的Tab

Table

TableItem
TableColumn

项是表中的行。

ToolBar

ToolItem

项是工具栏上的按钮。

Tree

TreeItem

项是树上的节点。

结论

SWT是Eclipse用户接口的核心部分。Eclipse平台基于SWT库。要扩展你的SWT知识,你可以下载SWT网站上的SWT例子。

 

 

如何在eclipse中使用SWT 1.在www.eclipse.org/swt/下载SWT开发包:swt-4.3-win32-win32-x86.rar,并解压到任意文件夹 2.swt-4.3-win32-win32-x86文件夹下的swt.jar文件拷贝到eclipse\plugins 3.打开eclipse,新建项目HelloSWT,到Project->Properies->JavaBuildPath->Libraries 阅读详情

相关推荐

Eclipse配置SWT软件开发环境

软件准备Eclipse Java开发环境:Eclipse IDE for Java Developershttp://www.eclipse.org/downloads/SWT软件包:swt-3.5.2-win32-win32-x86.ziphttp://www.eclipse.org/swt/JFace软件包:一般Eclipse的IDE文件plugins目录中会有相应的版本,如果下载Eclipse for RCP/Plug-in Developers版本则包括Jface的JAR以及源代码。SWTDesi

zjuylok的专栏 1万+

org.eclipse.swt.widgets.Combo控件在swt中的使用方法

运行效果: 实现java代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

xiaozhuangyumaotao的博客 1282

Eclipse SWT与JFace图形界面编程精进

本文还有配套的精品资源,点击获取 简介:SWT和JFace是Eclipse平台中用于构建图形用户界面的重要组件。SWT提供了与操作系统交互的底层API,实现了高效的性能和原生界面外观,而JFace则建立在SWT之上,简化了GUI开发并引入了MVC设计模式。掌握这些工具将使开发者能够创建具有原生用户体验和复杂界面需求的应用程序,同时提高代码的可维护性和可扩展性。通过学习SWT...

weixin_42581846的博客 1724

Eclipse SWT 简单控件(二)

首先申明下,本文为笔者学习《Eclipse插件开发学习笔记》的笔记,并加入笔者自己的理解和归纳总结。 1. Button Button主要对用户的选择动作进行反应。 setText()方法设置显示文字,setImage()方法设置显示图片。默认图片在文字的左边,样式SWT.RIGHT_TO_LEFT可以让图片显示在文字的右边。 Button默认样式是SWT.PUSH,还有CHECK(复选)、RAD...

假装你是大灰狼的专栏 2377

livox avia平台搭建

livox雷达数据采集平台搭建

Shilong的博客 1310

共享单车数据分析与需求预测项目

除了自行车共享系统的有趣的实际应用之外,这些系统生成的数据特征使它们成为研究的有吸引力的对象。由于这些系统在交通、环境和健康问题中的重要作用,它们引起了极大的关注。Huber 回归器:一个对异常值具有鲁棒性的模型,CV 得分为 0.4660,表明它对此数据集可能不那么有效。代码中的内容cv_score就像您正在使用的机器学习模型的成绩单。它告诉您模型的表现如何。减少异常值的影响:它还可以减少异常值的影响,因为对数转换显着缩小了数据的范围。因此,cv_score平均分数表明您的模型的预测效果如何。

极光喵的博客 2948

在eclipse中创建SWT可视化

在较新的eclipse软件中自带WindowBuilder,可以创建SWT项目可视化,通过窗口拖移来添加SWT组件。 一、创建一个SWT项目 点击左上角的File - > New -> Other... 进入后搜索SWT ,选中在WindowBuilder下的SWT Designer 下的SWT/JFace Java Project 点击next 只需要在Project name中...

tanxinji的博客 3777

MEMS传感器技术深度解析:从原理到未来趋势的全面指南(智能驾驶赛道有戏)

在智能汽车每秒产生1GB数据的今天,在可穿戴设备厚度突破1毫米的极限挑战下,MEMS(微机电系统)传感器正以的三大核心优势,重塑着人类感知世界的方式。作为从业10年的MEMS工程师,我见证了这个领域从实验室走向量产的完整历程——从2005年汽车安全气囊中笨重的压阻式加速度计,到2025年智能手机中集成5种传感器的SoC芯片,MEMS技术正在书写传感器行业的摩尔定律新篇章。本文将带您穿透技术迷雾,深入解析MEMS传感器的技术密码,涵盖,并附独家整理的与。文末更提供,助您把握万亿级市场机遇。

优快云-新能源汽车研发测试专业博主 2301

使用SWT Designer做可视化开发

转载自NebulaSoft空间~:http://hi.baidu.com/nebulasoft   推荐一本很好的书,叫做《Eclipse SWT/Jface 核心应用》,清华大学出版社的,书里讲的都是Eclipse可视化开发,有代码有图,非常好。 这两天有人问我怎么用,那我就讲讲。 我现在用的是Eclipse3.5.2+SWT Designer7.3,感觉比Eclipse

Hello World! 2421

【论文复现】——基于LM优化的NDT点云配准算法

传统的正态分布变换配准算法处理初始位姿变换相差较大的两帧点云时,存在无法收敛或者陷入局部最小值的问题。为了提高算法的收敛性能,提出了一种基于LM方法改进的三维正态分布变换配准算法。

点云侠的博客 1163

一键开关机电路

一键开关机电路

让你爱上电路设计 4180

Build GUIs with the Eclipse Visual Editor project

Build GUIs with the Eclipse Visual Editor project&lt;name&gt;David Gallardo&lt;/name&gt; (david@gallardo.org)Software consultant04 May 2004Introducing the Eclipse Visual Editor projectRead through any...

wangminshe89 144

汽车标定技术(五)--基于模型开发如何生成完整的A2L文件(1)

A2L文件的生成分为两章讲解:本文主要是讲模型开发,讲解如何把标定量、观测量放到链接文件中的指定位置。下一篇讲解如何使用matlab生成完整的A2L文件

认真搞搞汽车MCU 4618

Eclipse 3.6M5发布了

本周Eclipse基金会发布了Eclipse 3.6M5(Helios),正式版将于今年夏天发布;M5也将成为最后一个特性完备的版本,换句话说,剩下的工作就是修复bug与提升性能,不会再增加新的特性了。\u0026#xD;\n一个好用的功能就是SWT对“打开”操作的支持,这样Eclipse运行时就可以处理文件关联了,比如双击桌面上的某个文件会在Eclipse中打开而无需开启新的Eclipse实例。...

啊啊啊啊2 121

在claude code中使用glm模型出现Unable to connect to Anthropic services的解决方案

本文主要介绍了在claude code中使用glm模型出现Unable to connect to Anthropic services的解决方案,希望能对使用claude code的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 13万+

华为OD机试真题2026双机位C卷 Python&JS 实现【明日之星选举】

给定一组选票votes。votes[i]代表第 i 张选票的内容,包含一个字符串"zhangsan,hanmei",表示推荐zhangsan为明日之星,反对 hanmei 称为明日之星。赞成或反对使用逗号(,)分割。 给定一个数组n,表示最后将筛选出赞成票最多的n个人,如果赞成票相同,则反对票越少,排序越靠前;如果赞成票和反对票都相同,则按照姓名字典序升序排序。

MISAYAONE的博客 319

使用Eclipse进行SWT编程(2)

5. 在Eclipse外运行SWT应用程序要在不使用Eclipse的环境下运行SWT应用程序,swt.jar库必须在classpath中,并且java.library.path环境变量必须正确设置。根据主机平台,必须有合适的本地库存在。对于Windows平台,你可以根据如下来完成本地库的配置:把swt.dll放在和程序相同的文件夹下。把swt.dll放在JAVA_HOME/bin/文件夹下。把sw

hunterK的专栏 5849

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

使用Eclipse进行SWT编程(3)

8. WidgetsSWT GUI对象是从Widget和Control类继承而来的。Widget对象是基类定义了GUI类的通用方法。Control类是所有窗口GUI类的基类也就是说从Control类继承的组件需要一个窗口或者对话框来显示。Menu对象也需要一个窗口来显示,但是这个需求间接得到了满足。一个Menu对象需要一个Control对象。图4. Widget类层次图图 4 显示了Widget的

hunterK的专栏 6843

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

【eclipse插件开发实战】Eclipse插件开发2——SWT

Eclipse插件开发2——SWT cdsv

DianaCody's Blog 3875

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Swt编程中的HelloWorld

创建最简单的SWT程序   一、在Eclipse中安装SWT插件swt designer根据 eclipse 版本的不同,下载不同的 SWT-Desiger. 下载地址: http://www.swt-designer.com/ 安装方法和所有的 eclipse 插件一样,将 features, plugins 下的文件放到 eclipse 相应的文件夹中就好了,重启 ec

一个程序员的成长历程 3462

ECLIPSE swt实例

SWT示例 SWT示例 %0SAI@C_4RF06RH1WT2@64K.png SWT示例是用SWT编写的有用的小程序。这些通常比SWT Snippets更大,更全面。 Vista上的ControlExample ControlExample CustomControlExample 地址簿 BrowserExample ClipboardExample DNDExample...

情随事迁个人博客 330

在swt上使用windows消息编程

最近看了一下windows编程,比较了一下swt底层的一些调用,发现swt封装了很多基本的函数,可以直接使用进行windows的消息编程swt里面主要的windows函数都被封装在org.eclipse.swt.internal.win32.OS这个类里面,这个类大部分都是native方法,名称与window编程里面的一样,非常方便使用。下面是windows编程书上的一个例子,只做了一部分import org.eclipse.swt.internal.Callback; import org.eclips

0.0 2291

在eclipse中开发SWT客户端程序

作者:SummerChill  出处:http://www.cnblogs.com/DreamDrive/  在Eclispe中开发SWT程序的步骤: 1.在eclipse中"文件"---->"新建"----->"其他"----输入"swt" 选择SWT/JFace Java Project  然后输入项目名字和包的名字(走默认配置就可以了) 比如建立的想项

sinat_15433607的专栏 5730
上一篇: 使用Eclipse进行SWT编程(4)
下一篇: Jar 文件数字签名
hunterK
博客等级 码龄23年 0粉丝 12原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值