- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第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
您可能关注的文档
- Java EE企业级应用开发第5章 Spring的事务管理.ppt
- Java EE企业级应用开发第6章 初识MyBatis.ppt
- Java EE企业级应用开发第7章 MyBatis的核心配置.ppt
- Java EE企业级应用开发第8章 动态SQL.ppt
- Java EE企业级应用开发第9章 MyBatis的关联映射.ppt
- Java EE企业级应用开发第13章 数据绑定.ppt
- Java EE企业级应用开发第14章 JSON数据交互和RESTful支持.ppt
- Java EE企业级应用开发第16章 文件上传和下载.ppt
- Java EE企业级应用开发第17章 SSM框架整合.ppt
- Java EE企业级应用开发第18章 BOOT客户管理系统.ppt
- DB44_T 2611-2025 城市排水管网有毒有害气体监测与风险分级管理技术标准.pdf
- DB44_T 2612-2025 竞赛类科普活动策划与实施服务规范.pdf
- DB43_T 2947-2024 烟草种子质量控制规程.pdf
- DB37_T 4836-2025 煤矿风量实时监测技术要求.pdf
- 叉车防撞系统,全球前22强生产商排名及市场份额(by QYResearch).docx
- 超滤膜,全球前18强生产商排名及市场份额(by QYResearch).docx
- DB62T 4172-2020 玉米品种 酒623规范.pdf
- DB62T 4160-2020 在用真空绝热深冷压力容器综合性能在线检测方法.pdf
- DB62T 4164-2020 辣椒品种 酒椒1号.pdf
- DB62T 4133-2020 公路隧道地质超前预报机械能无损探测技术规程.pdf
文档评论(0)