eclipse开发技术详解第6章-容器_第1页
eclipse开发技术详解第6章-容器_第2页
eclipse开发技术详解第6章-容器_第3页
eclipse开发技术详解第6章-容器_第4页
eclipse开发技术详解第6章-容器_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第六章容器本章将介绍SWT中的几个常用容器类。在前面的学习中,也使用到了窗口容器Shell,然后再窗口容器中再进一步添加组件。如果把容器比作是一间屋子,那么组件就是屋子里面的家具。把组件构建在容器中,可以通过容器来对组件进行统一的管理,在删除容器的时候,里面的组件会一同删除。6.1面板面板Composite是开发中长用到的容器类,为了布局的方便,用户可以创建一个面板对性,然后在面板对象上创建其他的组件。本节就介绍面板的使用方法。6.1.1组件方法创建一个新的面板对象,设置面板的显示式样。其中,shell类属于Composite的子类。面板主要是对面板中的组件进行控制。其主要的方法有。Control[]getChildren()CompositegetParent()setLayout(Layoutlayout)layout()getShell()getLayout()6.1.2面板样式面板的式样有三种。SWT.NONE:没有边框的样式SWT.BORDER:带有边框的样式SWT.NO_RADIO_GROUP:对于一组单选按钮,可以同时选中多个按钮,默认情况下是只允许选择一个单选按钮。6.2分组框分组框式Composite的子类,用法和Composite基本相似,分组框可以集合多个组件,在界面上显示为一个方框,组件包含在分组框中,方框线上可以显示一串说明文字,创建两个分组框,分别为“分组框1”和“分组框2”,然后分别在两个分组框中添加两个按钮。6.3选项卡选项卡是带有标签页的容器。系统属性对话框,如下图,其中分为“常规”、“硬件”、“计算甲名”等标签页,而每一个标签页中,有不同的组件,一个窗口中,只能显示一个标签页。本节介绍选项卡的创建和使用方法。6.3.1普通选项卡选项卡TabFolder类和标签页TabItm类,前者是Composite的子类,所以,选项卡也是一个容器类。在示例代码中,首先创建窗口,再创建一个选项卡,并设置选项卡的大小和位置,创建两个标签页,并设置标签页的父容器为选项卡,在标签页中分别创建两个分组框,并设置大小、位置及显示信息,在分组框中分别创建两个按钮和两个文本框。6.3.1普通选项卡选项卡中常用的方法。getItem(intindex)getItemCount()getItems()getSelection()getSelectionIndex()indexOf(TabItemitem)setSelection(TabItem[]items)setSelection(intindex)6.3.2自定义选项卡自定义选项卡CTabFolder类比TabFolder类的功能更强大一些,自定义选项卡不只是样式上更加丰富外,而且增加了许多常用方法,和TabFolder使用方法相同,CTabFolder也有一个CTabItme相对应。1.自定义选项卡样式将前面的普通选项卡用CTabFolder重新修改,就成了如图效果。2.常用方法CTabFolder可以使用TabFolder中的所有方法,并在此基础上扩展了一些常用方法,如下。setBorderVisible(booleanshow)setFont(Fontfont)setTabHeight(intheight)setTabPosition(intposition)3.设置自定义选项卡的颜色在自定义选项卡中,可以设置选中状态标签的颜色或图片。在自定义选项卡中,还可以不单一使用一种颜色,而是使用多种颜色进行设置,采用颜色渐变的方法来实现,此时,使用setSelectionBackground(Color[]colors,int[]percents,booleanvertical)方法来实现,其中需要传入的参数为Color型的数组,也就是将多个颜色放到数组中,布尔型参数用来判断水平渐变还是垂直渐变,如果值为true,则为垂直渐变,如果值为false,则为水平渐变,默认值为false。例如:在前面的例子中添加代码。6.4带滚动条的面板如果在一个面板中,组件过多,一个页面无法将组件全部显示,这是,就需要用到带滚动条的面板ScrolledComposite。ScrolledComposite类虽然是Composite的子类,但是,不能将界面组件直接建立在ScrolledComposite中。应该首先在ScrolledComposite面板中创建一个容器,然后再在组件创建组件6.5分割窗分割窗是一个很长用的组件,例如操作系统中的Windows资源管理器,分割窗SashForm类是Components类的子类,所以,他也是一个容器。6.5.1SashFormSashForm使用非常简单,只需要将界面组件创建在SashForm容器中即可。在分割窗容器中,还有几种样式比如设置平滑外观的窗框,使用SWT.SMOOTH常量,方法为SashFormform=newSashForm(shell,SWT.HORIZONTAL|SWT.SMOOTH)。在设置分割窗初始化状态每个窗口的比例时,使用setWeights()方法,例如有三个窗口,从左到右,所占的空间比例为20%,30%和50%。那么使用的代码如以下所示:form.setWeights(newint[]{20,30,50})。6.5.2CBannerCBanner类可以说是SashForm的变体,它的三个控件分别放在窗口的左侧、右侧、和底部,左右两侧的大小可改变,但底部大小不能改变(类似状态栏)。另外,可以设置setSImple(boolesimple)方法,改变左右窗框分割线的外观,例如可以在程序中添加如下代码:banner.setSimple(false);6.6窗口容器在前面的学习中,接触的最多的就是窗口容器Shell类,要创建一个窗口Shell,有两步是比不可少的,首先,需要为Display类创建一个实例,然后,将这个实例传递给Shell类的构造函数,从而创建一个Shell类的实例。本节将介绍窗口容器Shell类的使用。6.6.1Shell实例方法及样式在前面的学习中,使用的都是Shell得默认构造方法newShell(),Shell也有自己的式样在窗口中,还有一些可已选择的样式。SWT.BORDERSWT.CLOSESWT.MINSWT.MAXSWT.RESIZESWT.TITLESWT.NO_TRIMSWT.SHELL_TRIMSWT.DIALOG_TRIM6.6.2多窗口的互动现在,有很多软件都使用多窗口交互的形式,比如,单击一个功能,弹出新的功能窗口,而原来的窗口则关闭,单击新窗口关闭按钮,原来的窗口又会弹出。本节就介绍一下父子窗口的交互。6.6.3ApplicationWin

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论