第十四讲 GU图形用户界面设计 与Java事件驱动模型 北京理工大学计算机系金旭亮
GUI图形用户界面设计 与Java事件驱动模型 北京理工大学计算机系 金旭亮 第十四讲
本讲内容 ■GUI程序设计 事件驱动模型 2021/2/24 北京理工大学计算机系(共62页)
2021/2/24 北京理工大学计算机系(共62页) 2 本讲内容 ◼ GUI程序设计 ◼ 事件驱动模型
第一部分 GUI界面设计
GUI界面设计 第一部分
AWT Abstract Window toolkit Java gul AWT抽象层 底层的窗口系统 分操作系统的 2021/2/24 北京理工大学计算机系(共62页)
2021/2/24 北京理工大学计算机系(共62页) 4 AWT ◼ Abstract Window ToolKit Java GUI AWT 抽象层 底层的窗口系统 分操作系统的
JFC JFC( Java Foundation Class:是一组与GUI 有关的类,是为解决不同的AW平台问题 而创建的,它支持: (1)可插入风格:运行时可动态选择外观 (2)用于访问大型文本文件的API; (3) Java 2D API; (4)拖放库和Undo功能库 (5) Swing组件集 2021/2/24 北京理工大学计算机系(共62页) 5
2021/2/24 北京理工大学计算机系(共62页) 5 JFC ◼ JFC(Java Foundation Class):是一组与GUI 有关的类,是为解决不同的AWT平台问题 而创建的,它支持: (1)可插入风格:运行时可动态选择外观 (2)用于访问大型文本文件的API; (3)Java 2D API; (4)拖放库和Undo功能库 (5)Swing组件集
SWING与AWT SWING组件的基类是」 Component,它的继 承树是: java. lang Object java. awt. Component Java.awt Container javax. swing. J Component 2021/2/24 北京理工大学计算机系(共62页)
2021/2/24 北京理工大学计算机系(共62页) 6 SWING与AWT ◼ SWING组件的基类是JComponent,它的继 承树是: java.lang.Object java.awt.Component java.awt.Container javax.swing.JComponent
轻量级组件与重量级组件 重量级组件由不同平台的操作系统负责绘 制 轻量级组件完全由Java画出” 轻量级组件 Swing采用画布 Canvas作为底层 支持,但其它行为是用ava实现的 2021/2/24 北京理工大学计算机系(共62页) 7
2021/2/24 北京理工大学计算机系(共62页) 7 轻量级组件与重量级组件 ◼ 重量级组件由不同平台的操作系统负责绘 制。 ◼ 轻量级组件完全由Java“画出” 。 轻量级组件Swing采用画布Canvas作为底层 支持,但其它行为是用Java实现的
GU程序设计的基本思路 ■1声明一个控件变量并创建控件实例 ■2实现若干事件接口,提供事件处理程序, 以响应事件 3往GUI容器中添加控件 2021/2/24 北京理工大学计算机系(共62页)
2021/2/24 北京理工大学计算机系(共62页) 8 GUI程序设计的基本思路 ◼ 1.声明一个控件变量并创建控件实例 ◼ 2.实现若干事件接口,提供事件处理程序, 以响应事件 ◼ 3.往GUI容器中添加控件
显示组件 组件显示前需要加入到容器中。常用的容 器有JF rame 代码 JButton jb=new J Button( pressure ) iFrame. getContentPaneoadd gb) jFrame setVisible(true) 2021/2/24 北京理工大学计算机系(共62页)
2021/2/24 北京理工大学计算机系(共62页) 9 显示组件 ◼ 组件显示前需要加入到容器中。常用的容 器有JFrame. 代码: JButton jb=new JButton(“pressure”); jFrame.getContentPane().add(jb); jFrame.setVisible(true);
JLabel 蠱 Example You are a star LabelDemo. java生成带图标的标签: ImageIcon icon new ImageIcon("star. gif JLabel jl=new Label( You are a star , icon, Label. CENTER 2021/2/24 北京理工大学计算机系(共62页) 10
2021/2/24 北京理工大学计算机系(共62页) 10 JLabel ◼ LabelDemo.java 生成带图标的标签: ImageIcon icon = new ImageIcon("star.gif"); JLabel jl = new JLabel("You are a star", icon, JLabel.CENTER);