首页 基于Swing的JavaGUI组件开发

基于Swing的JavaGUI组件开发

举报
开通vip

基于Swing的JavaGUI组件开发基于Swing的JavaGUI组件开发 基于 Swing 的 Ja va GU 组I件开发 吕校春, 李玲莉 哈尔滨工程大学 机电工程学院, 哈尔滨 150001) ( 摘 要: 分析了新一代 J a va GUI AP I- S w in g 的体系架构及其特点, 提出了一个基于 S w in g 开 发自 定 义 J a va GUI 组 件的框架模型, 并给出相应的实现技术。最后, 探讨了组件测试与发布的相关问题。 关键词: J a va ; S w in g ; GUI; 组件 中图分类号: TP...

基于Swing的JavaGUI组件开发
基于Swing的JavaGUI组件开发 基于 Swing 的 Ja va GU 组I件开发 吕校春, 李玲莉 哈尔滨 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 大学 机电工程学院, 哈尔滨 150001) ( 摘 要: 分析了新一代 J a va GUI AP I- S w in g 的体系架构及其特点, 提出了一个基于 S w in g 开 发自 定 义 J a va GUI 组 件的框架模型, 并给出相应的实现技术。最后, 探讨了组件测试与发布的相关问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 。 关键词: J a va ; S w in g ; GUI; 组件 中图分类号: TP 3 1 1.1 1 文献标识码: A 文章编号: 1002- 2333( 2008) 05- 0129- 03 Develop in g J a va G UI C om p on en t Ba sed on Swin g L V Xia o- ch u n, L I L in g- li ( College of Mechanical and Electrical Engineering, Harbin Engineering University, Harbin 150001, China) Abstr act : The architecture and feature of new Java GUI API- - Swing are discussed. Then one frame about developing customerized GUI components based on Swing is built. And also some technology is given to implement it. Finally, the author discussed some problems about component testing and deployment. : Key wor dsJava; Swing; GUI; component 1998 年 12 月 , Sun 公 司 正 式 发 布 了 Java2 平 台 的自定义 GUI 组件。 ( ) 。与 的 ( )组件体系结构及其特点JDK1.2JDK1.x AWTAbstract Windows Toolkit1 Swin g 相比, ( ) 的出现给开发 图 轻量级组件JFCJava Foundation ClassesJava 1.1 形界面的用户提供了强有力的工具来构建丰富美观的图 采用了一种称为 的两层结构, 如图AWT Peer Model 1 形 用 户 界 面 。 不 仅 AWT 中 的 所 有 组 件 均 能 在 JFC 的所示。每一个A WT 组件都包装 AWT Class 中找到其对等体, 这些组件还得到了很大的改进。 Swing 了一个与本地系统相关的 Peer 同时, 也提供了更高层次的组件如 、等, JFC JTableJTree 类, 该类负责组件外观的最终 大 大 提 高 了 ( ) 应 用 程 序 的 开GUIGraphic User Interface Peer Class 实现, 所以 组件自动具有 AWT [ ] 1发效率。尽管如此, 用户有时也希望开发满足特定需求 本地窗口系统的特征。这种结 图 1 AW T 组件结构 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!工效率, 而且直接影响加工质量。因此, 数控技术员必须 品的重要组成部分。为用户提供成套切削技术, 工具制造 熟悉刀具的选择方法和切削用量的确定原则, 从而保证 业要加快观念更新, 把多功能刀具革新方法作为切削技 术发展方向和服务的内容。 零件的加工质量和加工效率, 充分发挥数控机床的优点, 提高企业的经济效益和生产水平。 结 语4 多功能专用刀具具有成本低、操作方便的特点, 可以 现代 刀 具 发 展 的 重 要 特 征 之 一 是 专 用 化 和 多 功 能 同时方便数控车削加工中刀具的对刀和节省加工时间, 化, 导致刀具结构日趋复杂, 形状变得十分特异。在制造 且加工精度高。因此该刀具有很强的实用性, 在数控车床 业中, 只有将多种加工合并在一道工序中, 使辅助时间缩 到最短, 才有可能经济地批量生产工件。这可以凭借多功 中有较高的推广应用价值。该种多功能专用刀具已在实 能专用刀具来实现, 多功能专用刀具在数控加工中能提 践中长期应用, 并取得了很好的使用效果。 [ 参考文献] 高加工效率, 摆脱了传统的数控车削加工的限制, 给沉闷 的数控车削带来几缕火花。由于使用同一刀具车削, 从而 消除了使用多个刀具时产生的公差累积问题。然而, 这种 [ 1] 浦 文 禹. 数 控 加 工 中 心( 机 床) 刀 具 的 优 选 原 则[ J] . 轻 工 机 械 , 多功能刀具的优越性, 远非仅限于提高精度、简化编程、 2005( 4) : 79- 81. 降低检验费用, 而且简化了刀具管理和减少了购买刀具 王栋, 韩变枝.数控机床刀具技术现状及展望[ J] .机械科学与技 2] [ 与库存的费用。由于要为每个工作任务量体裁衣, 通常多 术, 2003( S2) : 188- 190. 功能专用刀具都要专门制作。但是它们的价格并不会因 郑献年.ISCAR 多功能车削刀具[ J] .机械制造, 1996( 3) : 21- 24. [ 3] 此而比通用刀具昂贵, 因为仅仅是提高的生产率就足以 李永钊.数控刀具及国产化探讨[ J] .工具技术, 1989( 3) : 2- 4. 大大地弥补制作所需的额外费用, 且缩短或消除了繁冗 [ 4] ( 编辑 毕 胜) 的加工工艺, 减少了换刀次数, 从而为企业增加了利润。 !!!!!!!!!! 作者简介: 薄开宇( 1982- ) , 男, 在读硕士研究生, 研究方向为现代检 测技术。 构虽然解决了组件的可移植性, 但却存在一些限制: 由于 Swing 组件把它们的界面样式交给这个U I 代 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 来处 展。 不同窗口系统的描绘机制、事件处理存在较大差, 别使得 理, 此 UI 代表负责绘制组件界面并处理组件的事件行 本地 类实现较为复杂, 而且同一应用程序界面在不 Peer 为。重要的是, Swing 组件的 UI 代表是 Swing 组件包中的 同的平台上会产生较大差异。由于采用 , Peer ModelAWT 一个 类, 通过扩展它可修改组件的行为。可在构造组 Java 组件需要在一个本地窗口上进行描绘, 占用较多的系统 件之时或之后, 把 代表插入到组件中。当 组件UI Swing 资源, 因此比较笨重( ) 。鉴于此, 组件 HeavyweightSwing 采用了全新的底层实现: 。该架 Lightweight UI Framework配备了一个修改过的组件 时, 组件的可视化外观或事 UI 构是完全由 实现, 不依赖于任何本地代码, 从而避免 Java 件处理也随之修改。 了组 件 外 观 和 行 为( ) 在 不 同 平 台 上 的 差 Look- and- Feel 2 利用 Swin g 组件开发自定义组件异, 使得同一应用程序在所有平台上都具有一致的表现 在开发复杂的应用时, 如能提供漂亮、适用的组件来 形式。与 相比, 这种组件占用更少的系统资源, 具有 AWT 制作简单实用的界面, 将有助于提高程序的开发效率及 [ , ] 23更好的性能, 故被称为轻型的组件。 软件的开发质量, 这也正是许多软件公司都设有组件开 设计模式1.2 MVC 发组的一个重要原因。在开发自定义的 组件时, 通常 GUI ( ) 是 由 提 出 MVCModel - View- ControllerSmallTalk 有两种途径供选择: 的一种著名的 设计思想, 如图 所示。它将 组GUI 2 GUI ( ) 分离法1件分成 个部分: 数据模型( ) , 包含组件所使用或 3 Model 管理的数据; 视图( ) , 即组件在屏幕上的表现形式;View 如如前所述, Swing 本身就是一个分离的模型结构 ( 控制器( ) , 描述组件如何响应用户的动作, 即事 Controller图 3 所示) , 它强调组件的数据模型同数据的显示界面有 件的处理。在 模式中, 处于核心地位, 并且每 MVC Model 效分离, 因此可以继承某个组件的U I 类来设计新的U I。 个组件只能有一个 , 但可以对应多个 , 即每个ModelView 然后利用组件的s etU(I ) 方法把新的 UI 插入到自定义组 组件可以有多种不同的表现形式。这种概念模型简单清件, 以获得所需要的组件外观效果。 这种方法尤其适合开发主要包装 组件外观的 Swing 情况, 对其它方面没有过多要求。如对组件功能要求多而 复杂, 则常采用组合法来开发。 组件的晰, 但 Swing 开发小组在实际设计过程中发现: ( ) 组合法2 此方法的特点为仅有一个组件类, 不像分离法那样 Controller 与 View 通常要紧密耦合, 而在经典的 MVC 模 为组件设计 类。UI 型中, 与 是相互独立的。为此, 组件 Controller View Swing 组件设计通常分为 个方面: 组件的外观、组件 GUI 3 采用了一种改良的 模型, 如图 所示, 组件把MVC 3 Swing 的事件响应和组件具有的特殊功能。 它们的界面样式( Look and Feel) 交给了 UI 代表来处理, [ ] 2组件的外观设计: 通过在新组件中重载父组件的一 它对应着 模型中的视图控制器的组合。MVC /些 外 观 函 数 来 实 现 , 如 重 载 方 法 public void repaint M Component 如一些响( Graphics g) 来在预置的时间点绘制组件外观( 代表 UI M V C 应 鼠 标 事 件 的 外 观 效 果 ) ; 重 载 方 法 protected void ( ) 来绘制组件的各种边界效果; 重 paintBorderGraphics g图 2 M VC 模型 图 3 Swin g 改进的 M VC 模型 载 方 法 ( ) 来 绘protected void paintComponentGraphics g 每个 Swing 组件通常由如下 3 部分组成: 依据此模型, 制组件的内部效果, 此方法通常在组件被设置为空边界 时使用, 以便在组件内绘图以达到某种效果。 ( ) 一个维护组件的数据模型( ) 。1M在绘制组件外观的时候, 常用到 的另外一部分JFC - ( ) 代表, 一个带事件监听器的视图控制器。2UI /。发布此 包的目的就是为了弥补原 Java 2D APISun API ( ) 继承 的 组 件 类 , 类 是 所 3JComponent JComponent 有 包中图形处理能力的不足。它提供了图形、图像、 AWT 有 组件的祖先类。Swing 文字三位一体的处理模式和与设备无关的图形图像处理 能力, 满足了用户“所见即所得”的处理需求。 例 如 Swing 中 的 按 钮 组 件 由 JButton 类 、ButtonUI 组件的事件设计: 随着 版本的不断升级, 组件所 JDK 类、类组成。ButtonModel 能响应的事件也越来越丰富。从最初的 事 java.awt.event 插拔式界面模式( )1.3 Pluggable Look and Feel件包, 到现在扩充的 事 件包 , 包 含 了 各 javax.swing.event 虽然 组件和 组件都把与组 件 显 示 相 关 Swing AWT 种事件的接口及缺省的实现。如果想让自己的组件监听 的 许 多 工 作 和 组 件 的 事 件 处 理 工 作 交 给 其 它 对 象 来 执 某个事件, 要在组件类中注册相应事件监听器( 根据需要 实现相应事件的接口即可) 。 行, 但对 组件而言, 代表是一个本地对等组件, 所以 AWT 组件具有的特殊功能设计: 功能根据自己的需要而 它们的行为很难扩展。例如, 不可能把一幅图像添加到 定, 但实现起来通常有以下两条原则: 的按钮上, 这是因为按钮的绘制是由本地对等组件 AWT 一是尽量为设计的组件选择一个合适的父类。在组 来完成的, 而该对等组件可能是用 编写的, 这样它的C++ [ 2, 4] 行为是不能被扩展的。 对于 组件, 代表是 类的一个扩Swing ComponentUI 机械工程师 2008 年第 5 期 130 行结果一致。javax.swing. JTextField 组件作为组件的起点; 如需要组件 对开发的 组件来说, 通常是一个组件或几个组 不仅能显示文本, 而且还要有数据敏感功能, 则可以选择 GUI 件的组件集, 故针对每个组件应用 单元测试 部编版二年级下册第二单元测试题部编版二年级下册第二单元测试卷部编版二年级下册第二单元测试部编版二年级下册语文第二单元测试卷人教版七年级下册英语单元测试卷 即可。在 第三方组件 ( 开发工具中的一 Java dbSwing Borland JBuilder 环境里进行组件测试, 通常使用一个叫做 的工具来 个开源组件包) 中的 。JUnit JdbTextField 评估组件。 为了节省时间, 并且保证组建的可靠性, 在开发组件 在使用 进行组件测试之前, 需要为测试组件定 JUnit 时, 一定要为组件选择一个合适的起点, 这样不仅开发简 义一个测试实例。定义测试实例对象类有以下一些规则: 单、快捷, 而且具有较高的可靠性。 二是采用“分而治之”的设计思想。“分而治之”是一个 ( 1) 继承 TestCase 类。古老的、用于解决复杂问题的指导方法, 即把复杂的问题 ( ) 对 类中的方法 ( ) 和 ( ) 进 2TestCase setUptearDown简单化。例如, 要开发一个日历组件, 它不仅可以显示日期 行重载。 时间, 而且可弹出日历面板, 供用户选择, 同时显示选定日 在 方法中记述如变量赋值等测试的初始化处 setUp 期。首先, 从文本框组件出发, 做一个仅可显示日期的组 理, 在 方法中记述如文件关闭等测试的结束处tearDown 件; 然后再单独开发一个日历面板组件; 最后, 继承日期显 示组件, 通过实现相应的鼠标事件接口, 实例化该日历面 理。如果没有必要, 这两个方法可以不定义。板组件, 就把二者组合成为一个很“完美”的日历组件了。 ( ) 方法的封装。3Test 虽然组件设计分为 个方面, 但它们并不是孤立存3 在的, 而是相互联系的: 往往组件的外观设计中伴随着组 记述着测试用在 JUnit 中, Test 方法称为测试方法, 的代码。 件的事件处理, 同时组件的功能设计中也可能伴随着组 组件发布3.2 件的事件处理。本文提出了一个自定义GU I 组件的开发 TM 组件发布由 JavaBean技术实现。JavaBean 是一种 可重复使用的软件组件, 利用它可以实现组件的重用, 这 也 是 进 行 组 件 开 发 的 目 的 之 一 。 它 与 中 的 Windows 模型( 如图 4 所示) : 横向表示组件所具有的通讯及其他 技术类似。ActiveX 能力的设计, 纵向表示为了完成预定的界面样式, 需要选 组件发布就是把测试后的合格组件做成 ,JavaBean择的组件的起点及其相应的实现技术。 每个 都拥有自己的 信息, 同时每个 Bean Bean JavaBean 都有相应的说明文档, 文档内容大致包括组件的类名、组 javax.swiing.JComponent 类继承性 件 的 接 口 方 法 、 组 件 的 使 用 案 例 说 明 等 信 息 。 所 有 依赖技术 Swing 组件 相互通讯 都做完后, 把整个工程打包封装成一个 文 JavaBean jar 件, 连同说明文档一起交给界面编程人员。界面编程人员 包 java.awt.event 第三方组件 Java 2D API javax.swing.event 包 ( 如 dbSwing) 只要把这个 包引用到自己的工程路径中, 参考说明文 jar 档就可以在一些 开发环境( 如 、, IDE JBuilderVisual Age 其它通讯能力 自定义组件 等) 中轻松自如地使用这些组件。Visual Cafe (如自定义数据连接、存储) ( 确定的功能外观) 结 语4 图 4 J AVA G UI 组件设计开发模型 虽 然 组 件 以 其 灵 活 的 架 构 、优 美 的 外 观 、丰 Swing 该模型的一个简略实现如下: 富 的 表 现 形 式 对 应 用 程 序 设 计 产 生 了 巨 大 的 影Java 首先, 在开发之前, 必须清楚需要的组件具有什么功 响 , 但 有 时 候 可 能 还 不能 满 足 用 户 的 要 求 。 据 此 , 本 文能、什么样的外观, 例如, 要封装特定的文本框, 让它不仅 就 如 何 去 开 发 自 定 义 组 件 进 行 了 探 讨 , 提 出 Java GUI 具有可输入文本的功能, 而且显示默认字体为“宋体”, 同 了 一 个 设 计 模 型 及 一 些 相 关 的 实 现 技 术 。 这 个 框 架 只 时, 外观显示为底边带有下划线的空边界。 说 明 了 如 何 去 实 现组 件 的 外 观 效 果 及 如 何 去 实 现 组 件 其次, 根据预定的组件功能、组件外观, 确定可行的 的 事 件 处 理 , 并 没 有 详 细 阐 述 如 何 实现 数 据 库 连 接 , 如 实现技术。一般说来, 尽量为组件选取较高的继承点。针 何 实 现 数 据 校 验 等功 能 , 这 些 问 题 将 在 以 后 的 工 作 中 对此例, 可以通 过 继 承 组 件 来 实 javax.swing.JTextField 进行 完 善 。 现 。 在 组 件 的 构 造 函 数 里 , 通 过 调 用 父 类 的 setBorder [ 参考文献] ( ) , 使组件失去边界; 调用父类的 () 方法设置 nullsetFont [ 1] 潘逸群.JFC:Java 的新面貌[ J] .中国计算机报, 1999( 20) : 27. 显 示 的 字 体 ; 重 载 父 类 的 保 护 方 法 paintComponent ( 编辑 明 涛) ( Graphics g) 来绘制下划线底边。 最后, 对确定的可行性 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 进行实施, 不断对要开发 的组件进行完善。 !!!!!!!!!! 作者简介: 吕校春( ) , 男, 讲师, 博士研究生, 主要研究方向为监 组件测试与发布3 1976- 测与智能控制、机器人技术。 3.1 组件测试
本文档为【基于Swing的JavaGUI组件开发】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_713593
暂无简介~
格式:doc
大小:27KB
软件:Word
页数:9
分类:
上传时间:2018-05-30
浏览量:36