已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第八章 高级组件 前面的学习中,介绍了一些SWT的基本组件,本章主 要介绍SWT的一些高级组件。高级组件主要包括菜单、工具 栏、系统托盘、对话框、表格、浏览器等。通过对本章的学 习,会对SWT中的组件有一个全面的了解。 8.1 菜单 大家对于菜单应该不会陌生,在平时的操作系统使用中 ,也有许多的菜单,比如Word中的开始菜单、插入菜单等 等。菜单有在窗口上方的系统菜单,也有在右击鼠标时弹出 的菜单。 8.1.1 菜单示例 创建一个窗口的系统菜单,在单机文件时,弹出菜单, 分别有“新建”、“打开”、“保存”、“退出”菜单项,单机“编 辑”菜单,有“粘贴”、“剪切”菜单项。 在程序中,先创建一个窗口,创建主菜单,用于放置到 菜单条上,然后创建第一个菜单,设置菜单的弹出方式为下 拉式,新建“打开”、“保存”、“新建”、“退出”等菜单项,设 置分割线菜单项。创建第二个菜单,和设置第一个方法相同 。 8.1.2 菜单和菜单项样式 1SWT.BAR:窗口菜单栏中的菜单。 2SWT.DROP_DOWN:从菜单栏或者菜单项弹出的 菜单。 3SWT.POP_UP:单击右键,弹出的菜单。 4SWT.LEFT_TO_RIGHT 或 SWT.RIGHT_TO_LEFT:用于设置右击菜单显示的方式。 5菜单项式样 菜单项式样相对于菜单式样比较简单,如下就是菜单几 种菜单项式样。 SWT.PUSH:这个式样就是普通的菜单项,类似于单 击按钮。 SWT.RADIO:这个式样类似于单选框,在几个选项之 间选择一个,标示用小黑点。 SWT. CHECK:这个式样类似于多选框,用对勾符号 标示选中的多个选项。 SWT.CASCADE:这是式样是可以包含一个下拉菜单 的菜单项。 SWT.SEPARATOR:这个式样就是一个分割条。 8.2 文本链接 在文本链接中,有Browser和Link两个类可以使用, ,在文本中添加链接,当鼠标移动到文本上时,鼠标指针变 为一个小手,这时,单击文本,可以进入相关的链接 Browser类和Link不同,Browser是Composite的子 类,也就是说,它是一个容器,使用Browser类,可以像浏 览器一样直接打开链接网址。 8.3 对话框 对话框在系统中无处不在,是最常用到的界面。对话框 主要由主题的界面组件和基本按钮组成,如图8.5就是一个 对话框。 SWT中的对话框有消息对话框(MessageBox)、文 件目录对话框(DirectoryDialog)、文件对话框( FileDialog)、颜色对话框(ColorDialog)、字体对话框 (FontDialog)和打印对话框(PrintDialog)等。本节就 主要介绍一下这几种对话框的使用。 8.3.1 信息提示框 在前面的学习中,我们接触到了信息提示框,例如,我 们做几个题,在单击提交按钮时,弹出对话框,提示正确与 否,是否需要进入下一题 SWT.ICON_ERROR:错误提示信息。 SWT.ICON_INFORMATION:信息提示 SWT.ICON_QUESTION:询问提示 SWT.ICON_WARNING:警告提示 8.3.1 信息提示框 在对话框中,不只有样式,还需要有按钮的搭配 SWT .OK SWT .OK | SWT . CANCEL SWT .YES | SWT .NO SWT .YES | SWT .NO | SWT .CANCEL SWT .RETRY | SWT .CANCEL SWT .ABORT | SWT .RETRY | SWT .IGNORE 8.3.2 文件目录对话框 文件目录对话框,提供一个供用户选择的目录界面,然 后返回这个目录的路径信息。创建一个窗口,和一按钮,给 按钮添加监听事件,用来实现单击时弹出文件目录选择。使 用内部类设置按钮事件,创建一个文件目录对话框对象,设 置提示信息,以及对话框的标题,打开时默认的文件目录, 然后打开窗口,返回用户所选择的目录,创建文件类型对象 ,使用getPath()方法获取到用户选择的目录路径。 8.3.3 文件选择对话框 文件选择对话框,可以用来选择打开的文件,让用户选 择文件,并且返回文件的路径,而且可以根据一些方法设置 选择文件的类型限制。也可以选择多个文件。 1多文件选择 2文件类型过滤 3保存对话框 8.3.4 颜色对话框 在选用颜色时,通常会使用到颜色对话框,显示了自定 义颜色的颜色对话框, 8.3.5 字体对话框 同颜色对话框一样,可以使用系统自带的字体对话,显 示了字体对话框的示意图。它的用法与颜色对话框也差不多 。 8.3.6 打印对话框 在文本编辑程序中,经常使用到打印输出,下面介绍打 印对话框, 打印对话框还有几种常用方法: getStartPage() getEndPage() getScope() getPrintToFile() 8.3.7 输入值对话框 其中parentShell是一个窗口容器,可以null; dialogTitle是对话框的标题;dialogMessage是对话框中的 说明文字;initialValue是设置初始值;validator是对输入 值的验证。InputDialog中没有提供静态方法来打开对话框 ,这点和MessageDialog对象不同,首先要创建一个 InputDialog对象,然后使用open方法弹出对话框,open 的返回值为字符串类型,就是InputDialog的输入值。 8.3.8 自定义对话框 在SWT中的对话框都是一些固定的模式,而这些已经 无法满足实际开发的需要,很多时候都需要自己定制对话框 ,可以通过扩展Dialog类来创建自定义对话框。 创建自定义对话框,首先要先继承Dialog类,建立一 个最简单的Dialog类的子类,并重写Dialog中的一些方法。 8.3.9 进度条对话框 在进行程序安装时,有时需要等待,而在安装过程中, 界面一般不会发生变化,这时需要使用进度条,来显示安装 的进度。例如最常见的就是Windows的复制进度条 8.4 滚动条 滚动条经常用于在调节音量、图片明暗调节等地方,滚 动条一般会有上下或者左右两个方向箭头,中间一个可以拖 懂的“游码”,SWT控件中设计到滑动组件的类有滑块( Slider)、刻度条(Scale)和微调按钮(Spinner)等。下 面就详细介绍这几个控件的使用。 8.4.1 滑块 滑块(Slider)有点类似于前面讲过的进度条,拖动中 间的“游码”或者点击两边的箭头,就可以调节值的大小。 8.4.2 刻度条 刻度条(Scale)是带刻度的滚动条,除了带有刻度外 ,其他Slider差不多, 8.4.3 微调按钮 微调按钮(Spinner)和前面的刻度条原理基本相似, 但是可以显示小数,比较适合调节精度比较高的值,例如在 Word中,调节段前段后的行距,就是用的微调按钮。 微调按钮有两种样式可选: SWT.READ_ONLY SWT.BORDER 8.5 表格 表格是一个常用的组件,可以将大量的数据以表格的形 式显示出来,SWT中的表格是用Table、TableItem和 TableColumn对象来显示表格。本节就主要介绍SWT中表 格的创建。 8.5.1 表格示例 一个完整的表格由表头(TableColumn)和许多行数 据(TableItem)组成,下面创建一个简单的表格,创建一 个多行三列表格,并在第一行各列中分别输入文字说明。 8.5.2 设置带有选择框的表格 在创建表格的时候,如果选用 SWT.FULL_SELECTION,则显示普通表格,如果将试样 选择为SWT.CHECK,则可以在每一行显示带多选框的表格 , 8.5.3 设置可同时选中多行表格 默认创建表格使用的是SWT. SINGLE样式,只能选择 一行,有时候需要使用选择多行处理,可以使用 SWT.MULTI样式, Table中可用的样式有以下几种: SWT. SINGLE:作用是可以一次选择多行。 SWT.MULTI:一次选择一行。 SWT.CHECK:作用是在每一行的第一类带有选择框。 SWT.FULL_SELECTION:作用是当鼠标选中某一行时,整行高亮 显示。 SWT.LEFT:作用是靠左对齐,默认值 SWT. RIGHT:作用是靠右对齐。 SWT. CENTER:作用是居中对齐。 8.5.4 可拖拽的表格 对于表格列的排列,每个人都有不同的喜好,这时就需 要用到可以拖拽的表格,一般就是点击列表头,然后进行拖 拽重新排列。 8.5.5 改变选中行高亮显示的颜色 在Excel中,选中一行是,选中的行颜色变为深色,或 者可以通过按钮,让某一行变色。有时候为了突出一行数据 ,也会让此行加上颜色。 TableItem中设置单元格颜色的方法有以下几种: setBackground(Color color) setBackground(int index, Color color) setForeground(Color color) setForeground(int index, Color color) 8.6 树 树通常用于显示数据的分层,是一种很重要的数据结构 。例如在Windows操作系统中,使用文件管理器查看文件 8.6.1 第一个树结构示例 一个树(Tree)由多个TreeItem组成,树展开后每一 行都可以看作是一个TreeItem。 在以上程序中首先创建一个窗口,在窗口容器中创建一 个树,创建一个TreeItem对象,然后分别再创建三个 TreeItem对象,作为树的三个不同级别的节点。 8.6.2 可以编辑树结构 在前面的例子中,节点的值是只读的,可是,在有些情 况下需要在结构中直接进行修改,这样就用到了TreeEditor 类,一个可编辑的树。当在节点上双击时,可直接编辑节点 数据。 8.6.2 树的样式 上述程序使用了SWT.SINGLE样式,除此之外,SWT 的树结构还有其他的样式,如下所示。 SWT.MULTI SWT.CHECK SWT.FULL_SELECTION 8.6.3 表格树 表格树是一种比较特殊的树结构,表格树增加了树和表 格各有的特性,可以为树增加表头,而且分支结构更加清晰 明了, SWT提供了专门的表格树类(TableTree和 TableTreeItem),只需要使用Tree设置TreeColumn就可以 达到与以上表格树类的效果, 8.7 工具栏 工具栏与菜单类似,也是一般桌面程序中常见的一种控件, 例如在Word文档中,主菜单的下放,有一些图标按钮,这就是工 具栏,单击不同的图标,可以完成不同的功能。 工具栏中按钮也有几种式样可选: SWT.PUSH SWT.CHECK SWT.RADIO SWT.SEPARATOR SWT.DROP_DOWN 工具栏也有不同的式样: SWT.VERTICAL SWT.FLAT SWT.RIGHT SWT.SHADOW_OUT SWT. BORDER 8.7.1 可拖动位置的工具栏 动态工具栏是CoolBar类和CoolItem类,CoolBar是 一个容器类,可以放置多个工具栏,并且,基于CoolBar的 工具栏,可以随意的拖动摆放位置,通常称之为动态工具栏 。 8.7.2 常用的方法 CoolBar的常用方法: getItemOrder() setLocked(boolean locked) CoolItem的常用方法 设置最小的大小:setMi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年一建《机电工程管理与实务》考试基础知识点库历年真题及答案
- 2025年法律知识考核知识考察试题及答案解析
- 衬氟Y形过滤器行业深度研究报告
- 刹车器行业深度研究报告
- 高压注射延长管行业深度研究报告
- 企业贷购销合同范本
- 买房首付后给协议书
- 争议界线调解协议书
- 600MWh新型储能项目风险评估报告
- 会展租场地合同范本
- 2025-2026学年外研版(三起)(2024)小学英语三年级上册期中检测试卷及答案
- 2025消防月消防安全知识培训课件
- 大规模数据标注技术-洞察及研究
- 2025至2030钛合金产业行业项目调研及市场前景预测评估报告
- 消防工程监理质量评估及验收报告
- 人教版九年级政治上册期中考试试卷及答案
- 知道智慧树网课《中国新闻史(渤海大学)》课后章节测试答案
- 公司货运调度员技能操作考核试卷及答案
- 医务人员专利知识培训课件
- 抗核抗体教学课件
- 售楼人员安全知识培训课件
评论
0/150
提交评论