第9章容器类.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章容器类

第9 章容器类 9.1 Composite类(面板) 在多数 GUI 中,许多控件被组合在一起以提供丰富的用户体验。在 SWT 中,这种组合是通过 Composite 类实现的。 复合控件可以在任何级别上进行嵌套,并且可以混合和匹配控件,将它们作为子控件进行组合。这样做可以极大地减少 GUI 开发的复杂性,并为 GUI 代码重用(通过封装内部 GUI)创造了机会。 复合控件可以是有边界的,并且这些边界很容易在视觉上产生混淆,或者它们也可以是无边界的,无缝集成到更大的组中。 9.1.1 Composite类 谱系 9.1.2 Composite的用法 import org.eclipse.swt.widget.*; : Shell parent = new Shell(); : Composite border = new Composite(parent, SWT.BORDER); border.setLayout(new?RowLayout(SWT.VERTICAL)); Button?btn=new?Button(border,SWT.PUSH); btn.setSize(100,30); 9.1.3 Composite的常用方法 9.2 分组框(Group类) Group有一个边框,常被用来把一些组件组织在一个组内,以便统一管理。 最主要的用法是将一些checkBox组织为一组,以便多中选一。 可以用setText方法设定它的标题。 9.3 选项卡(TabFolder类和TabItem类) TabFolders 是一个创建使用有限数量空间的复杂 GUI 的简便方法。 一个选项卡文件夹(tab folder)被分成一个或多个选项卡(tab),其中每个选项卡都是它本身的一个完整 GUI。一次只显示一个选项卡。 在 custom 包中,CTabFolder 是 TabFolder 的增强版,它看起来更好一些,并且可以支持选项卡的关闭。 必须将 TabFolders 和 CTabFolders 定义为以下两个相互排斥的样式之一: TOP —— 将选项卡放置在顶部。 BOTTOM —— 将选项卡放置在底部。 CTabFolder 支持其他一些可选样式: FLAT —— 为文件夹提供一个扁平的外观。 BORDER —— 在控件的周围显示边界。 CLOSE —— 允许选项卡关闭(显示一个 Close 按钮)。 TabFolders 包含一些定义选项卡的 TabItems(或者 CTabItems)。 TabFolders 还包含多个控件(通常是 Composites),每个控件都定义了选项卡的一个内容。 TabItem.setControl 方法将该控件与相关的选项卡连接起来。 由于setControl中的参数不是数组,因此可以首先建一个Composite实例,然后在里面添加控件,再把这个Composite实例本身作为参数传递给TabItem的setControl方法。 ??public?class?TabFolderDemo?{ ?????public?static?void?main(String[]?args)?{ ?????????Display?display?=?new?Display(); ? ?????????Shell?shell?=?new?Shell(display,?SWT.DIALOG_TRIM); ?????????shell.setLayout(new?RowLayout(SWT.HORIZONTAL)); ?????????shell.setText(TabFolder?Demo); ? ?????????TabFolder?tf?=?new?TabFolder(shell,?SWT.NONE); ?????????tf.setLayout(new?FillLayout()); ?????????TabItem?ti?=?new?TabItem(tf,?SWT.NONE); ?????????ti.setText(A?Simple?TalItem); ?????????Composite?composite?=?new?Composite(tf,?SWT.NONE); ?????????composite.setLayout(new?GridLayout(2,?true)); ?????????for?(int?i?=?0;?i??3;?i++)?{ ?????????????Label?label?=?new?Label(composite,?SWT.RIGHT); ?????????????Text?text?=?new?Text(composite,?SWT.NONE); ????

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档