- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java程序设计与应用开发(第2版)下ppt173
Java程序设计与应用开发(第2版) 第1章 快速入门 第2章 Java基本语法 第3章 类 与 继 承 第4章 接口、抽象类与包 第5章 异 常 处 理 第6章 GUI 编 程 第7章 网 络 编 程 第8章 Java I/O系统 第9章 访问数据库 第10章 多 线 程 第11章 项目实践一:贪吃蛇游戏 第12章 项目实践二:开发电力系统中的收费结算系统 第6章 GUI 编 程 本章主要内容 6.1 Swing起步 6.2 AWT事件处理 6.3 布局管理 6.4 常用GUI组件 6.1 Swing起步 6.1.1 Swing概述 6.1.2 一个GUI实例 6.1.3 面板 6.1.4 改变应用程序的观感 6.1.1 Swing概述 在Java 1.0中,已经有一个用于GUI编程的类库AWT(Abstract Window Toolkit),称之为抽象窗口工具箱。 1996年,Sun公司和Netsacpe公司在一个称为Swing的项目中合作完善了Netsacpe公司原来开发的一套GUI库,也就是现在所谓的Swing组件。 JFC的概念是在1997年的JavaOne开发者大会上首次提出的,是指用于构建GUI的一组API。实际上,Swing只是JFC的一部分,其他的还有二维图形(Java 2D)API以及拖放(Drag and Drop)API等。 6.1.2 一个GUI实例 这个应用程序很简单,只是在屏幕上显示一个框架组件(JFrame) 。这种框架组件是一种顶层(Top-Level)容器,在Swing组件中还有其他3种顶层容器:JWindow、JDialog和JApplet。 如果希望上面的程序在单击框架的关闭按钮后,应用程序退出,可以添加如下语句: f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 6.1.3 面板 JPanel本身也是一个容器,可以向其中添加其他GUI组件(如按钮JButton);但是JPanel不是顶层容器,因此,要在屏幕上显示JPanel,必须将它添加到一个顶层容器(如JFrame)中。JPanel还具备在自身表面绘制图形的功能,可以通过定制的方式在面板表面绘制各种图形。 1. 作为容器 面板作为容纳其他Swing组件的容器是JPanel最常使用的功能之一。在制作复杂的用户界面时,常常需要使用多个JPanel将复杂的界面分解为相对较简单的子界面,然后再对每个JPanel进行布局。 下面来看一个将面板作为容器使用的例子。这个例子中分为两步。 (1) 将一个标签和一个文本框添加到面板中。 (2) 再将面板添加到框架中,然后显示框架。 程序代码 2. 表面重绘 当一个组件需要进行重绘时,事件处理器会通知该组件,从而引起组件paintComponent(Graphics g)方法的自动调用。 用户永远不需要直接调用该方法。如果用户要求主动发起组件的重绘,可以调用repaint()方法通知组件需要重绘,从而实现paintComponent(Graphics g)方法的自动调用。 paintComponent(Graphics g)方法需要的一个图形参数Graphics也是由系统自动传递进来的。 Graphics类型的对象中存储了用于绘制图形和文本的设置集合(如字体、颜色)以及绘制图形和文本的工具。 可以通过覆盖(Override)组件的paintComponent(Graphics g)方法,在组件表面绘制出我们所希望的内容。 程序代码 6.1.4 改变应用程序的观感 可以用下面的程序片段将应用程序设定为Windows观感: 通常,我们会在程序一开始运行时就设定好观感。但是有的时候,可能会在程序的运行过程中(Swing组件已经显示出来)要求动态改变观感。这时候,在使用UIManager.setLookAndFeel(lnfName)语句设定完观感后,还必须使用SwingUtilities.updateComponentTreeUI()语句来更新所有的已显示组件的观感。动态改变应用程序观感的一般代码框架可以是: UIManager.setLookAndFeel(lnfName); //设定观感 //更新容器frame内的所有组件的观感 SwingUtilities.updateComponentTreeUI(frame); 6.2 AWT事件处理 6.2.1 事件处理简介 6.2.2 事件处理实例 6.2.3 使用事件适配器 6.2.4 AWT事件继承关系 6.2.1 事件处理简介 用户对应用程序进行操作时会
原创力文档


文档评论(0)