- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 图形用户界面编程 前面章节介绍的例子中,输入输出都是通过命令提示符窗口(控制台)来完成的,对程序的使用者而言不美观也不是很友好,从本章开始将介绍如何编写带有图形用户接口(GUI)的Java程序。目前在开发图形用户接口的应用时,使用最多的就是Swing技术。本章将对Swing技术做一个简单的介绍,使读者对Swing的开发有一个基本认识。 7.1 Swing和AWT的对比 Swing是Sun公司推出的第二代图形用户接口工具包,通过Swing可以开发出功能强大、界面优美的客户应用程序。Swing中不但提供了很多功能完善的控件,而且其还具有良好的扩展能力,用Swing来进行交互界面的开发是一件另开发人员非常愉快的工作。 Swing从诞生到现在大致经历了如下几个阶段。 Swing项目是从1996年年底开始的,在项目开始的同时所有的参与者共同选定了这个名称,目的就是开发一个不依赖于本地系统的图形用户接口工具包。 1997年后半年Swing进入测试阶段,并在1998年春随同JDK 1.1首次发行,对于JDK 1.1之前的版本,是不能使用Swing库的。 Swing从首次发行开始,就不断快速地成长,自JDK 1.2之后,便被完全集成到了Java的标准类库中,成为Java基础类库(JFC)大家族中的一个重要组成部分。 7.1.1 Swing与AWT之间的关系 AWT中提供的控件数量很有限,远没有Swing丰富,例如Swing中提供的JTable、JTree等高级控件在AWT中就没有。另外,AWT中提供的都是重量级控件,如果编写的程序希望运行在不同的平台上,必须在每一个平台上单独测试,无法真正实现“一次编写,随处运行”。 Swing的出现并不是为了替换AWT,而只是提供功能更丰富的开发选择,Swing中使用的事件处理机制就是AWT1.1中提供的。因此实际开发中会同时使用Swing与AWT,但一般控件只采用Swing的,而很多辅助类时常需要使用AWT当中的,特别是在进行事件处理开发时。 通过上面的介绍读者应该体会到,Swing与AWT是合作的关系,并不是用Swing取代AWT。 7.1.2 Swing与AWT的控件的混用建议 由于AWT中提供的是重量级控件,是依赖本地系统的对等体实现的,而Swing控件属于轻量级控件,是由纯Java编写的,使用基本图形元素直接在屏幕上绘制,因此在搭建界面时,如果将二者同时使用,就有可能会出现先后遮挡关系不正常的现象。 7.2 一个简单的图形用户界面程序 本小节将介绍一个简单的图形用户界面程序,读者如果不明白部分代码,可以在学习完本章后再复习本小节内容;也可以直接查看本章相关小节进行有针对性地学习。用户界面中添加一个JTextField、JButton,并给JButton添加一个事件,单击按钮改变Text文本框的值。 7.3 容器类 窗口和面板是Swing中,提供用来创建表示图形用户界面的类。该类的对象将被当作容器使用,所有的Swing组件都必须被添加到容器中,才能被显示出来。 7.3.1 顶级容器概述 所有的Swing组件都是抽象类JComponent类的子类。JComponent类是大多数Swing组件的超类,声明了所有JComponent子类共有的属性和方法,例如包含了用于设置组件大小、修改背景颜色、定义字体等一系列的方法。JComponent类(javax.swing包)是Container类的子类。Container类用来管理一组相关的组件,内容面板就是Container类的一个对象。Container类中声名了所有Container子类共有的属性和行为。 7.3.2 JFrame主窗口 JFrame是一个窗口容器组件,与其他的Swing组件不同,JFrame组件不是用纯Java语言所编写的,是一个重量级的组件,其中包含了操作系统中部分GUI的方法。所谓重量级组件,实际上就是说该组件在创建的时候,都会有一个相应的本地计算机中的组件在为它来工作。 JFrame是一个窗口容器组件,可以被显示在用户桌面上,同时也是一个框架,在其中,可以添加需要的其他的Swing组件。但需要注意的是:在创建了Swing窗体后,是不能够直接把组件添加到创建的窗体中的,Swing窗体含有一个称为内容面板的容器,组件只能添加到Swing窗体对应的内容面板中。创建Swing窗体对应的内容面板,可以使用Container类中的getContentPane()方法获得内容面板对象。 7.3.2 JFrame主窗口 7.3.3 JDialog对话框窗口 JDialog是Dialog类的子类,该类所创建的对话框对象也是重量容器。创建的JDialog对象可以用来向用户返回信息,接收用户的输入,实现与用户的交互。但JDia
您可能关注的文档
- HTML+CSS+DIV网页设计与布局 作者 聂斌 第12章 控制元素布局.ppt
- HTML+CSS+DIV网页设计与布局 作者 聂斌 第13章 网页布局与设计技巧.ppt
- HTML5基础开发教程 作者 范立锋 于合龙 孙丰伟 第03章__HTML5的表单.ppt
- HTML5基础开发教程 作者 范立锋 于合龙 孙丰伟 第05章__HTML5的图像及动画.ppt
- HTML5基础开发教程 作者 范立锋 于合龙 孙丰伟 第07章__HTML5的数据存储.ppt
- HTML5基础开发教程 作者 范立锋 于合龙 孙丰伟 第08章__HTML5离线应用及地理位置应用.ppt
- HTML5基础开发教程 作者 范立锋 于合龙 孙丰伟 第10章__CSS3高级应用.ppt
- Illustrator CS3中文版实例教程 1CD 作者 汪晓斌 1.ppt
- Illustrator CS3中文版实例教程 1CD 作者 汪晓斌 2.ppt
- Illustrator CS3中文版实例教程 1CD 作者 汪晓斌 4.ppt
- Java程序设计教程 作者 张克军 陆迟 孙海伦 庞丽娜 第8章 Java输入输出与数据库操作.ppt
- Java程序设计教程 作者 张克军 陆迟 孙海伦 庞丽娜 第9章 多线程——Java中.ppt
- Java程序设计教程 作者 张克军 陆迟 孙海伦 庞丽娜 第10章 网络程序设计.ppt
- Java程序设计实例教程 作者 刘志成 ch01_java语言概述.PPT
- Java程序设计实例教程 作者 刘志成 ch03_Java程序流程结构.PPT
- Java程序设计实例教程 作者 刘志成 ch04_Java面向对象编程技术.PPT
- Java程序设计实例教程 作者 刘志成 ch07_Java输入输出技术.PPT
- Java程序设计实例教程 作者 刘志成 ch08_多线程编程.PPT
- Java程序设计实例教程 作者 刘志成 ch09_网 络 编 程.PPT
- Java程序设计实例教程 作者 刘志成 ch10_数据库编程.PPT
最近下载
- 《酒店客户关系管理 》课件——项目四 酒店客户关系建立与维护.pptx VIP
- 监控报价清单表-监控报价模板.xlsx VIP
- 1.1 什么是美术作品 课件高中美术湘美版(2019)美术鉴赏.pptx
- 《酒店客户关系管理 》课件——项目二 酒店客户关系管理主体.pptx VIP
- 船舶驾驶员实用英语口语.doc VIP
- 《酒店客户关系管理 》课件——项目一 酒店客户关系管理导论.pptx VIP
- 船舶驾驶员实用英语口语5.docx VIP
- 《酒店客户关系管理 》课件——项目八 酒店客户关系数字化运营.pptx VIP
- 食材配送应急预案处理流程及响应时间.docx VIP
- 保安服务 投标方案(技术标 ).doc
文档评论(0)