航R Lecture9 9-1 图形用户界面 的设计与现 Programming in Java JAVA
9-1 Programming in Java 图形用户界面 的设计与实现 Lecture9
a2水 提纲 9-2 用户自定义成分 GUI标准组件 Java事件处理 布局设计 容器 Programming in Java JAVA
9-2 Programming in Java • 用户自定义成分 • GUI标准组件 • Java事件处理 • 布局设计 • 容器 提纲
航2制 AWT APIs 9-3 java.awt java.awt.accessibility java.awt.color java.awt.datatransfer java.awt.dnd java.awt.event java.awt.font java.awt.geom 。java.awt.image ·java.awt.peer 。java.awt.print javax.swing Programming in Java JAVA
9-3 Programming in Java AWT APIs • java.awt • java.awt.accessibility • java.awt.color • java.awt.datatransfer • java.awt.dnd • java.awt.event • java.awt.font • java.awt.geom • java.awt.image • java.awt.peer • java.awt.print • javax.swing
用户自定义成 9-4 ·AWT(Abstract Windowing Toolkit))包 - Color,Font,FontMetrics Component, Graphics,Polygon,Toolkit ·坐标(0,0) (width-1,height-1) ·绘制图形P185例7-1 ·显示文字P187例7-2 ·控制颜色P189例7-3 ·显示图像P190例7-4 Programming in Java JAVA
9-4 Programming in Java 用户自定义成分 • AWT(Abstract Windowing Toolkit) 包 – Color, Font, FontMetrics , Component, Graphics , Polygon, Toolkit • 坐标(0, 0) (width-1, height-1) • 绘制图形 P185 例7-1 • 显示文字 P187 例7-2 • 控制颜色 P189 例7-3 • 显示图像 P190 例7-4
AWT标准组件(1) 9-5 Event Obiect CheckboxGroup FlowLayout Color Graphics Font Component Button Lable Choice Scrollbar Container List Canvas Checkbox TextComponent Window panel TextField Dialog Frame TextArea Applet FileDialog Programming in Java JAVA
9-5 Programming in Java AWT 标准组件(1) Event Obiect Graphics Component CheckboxGroup TextComponent Container Button TextField Checkbox Window panel Applet Lable List Choice TextArea Dialog Frame FileDialog Scrollbar Canvas Color Font FlowLayout
AWT标准组件(2) 9-6 组件 Button,Checkbox,Choice,List,Menu, TextField 这些控件产生ACTION EVENT.,程序会响应该事件 -其它控件:Scrollbar and TextArea Canvas Lable 容器 -类型:Panel,,ScrollPane,.window -常见的容器:Dialog,FileDialog,Applet,.Frame Programming in Java JAVA
9-6 Programming in Java • 组件 – Button, Checkbox, Choice, List, Menu, TextField 这些控件产生ACTION_EVENT, 程序会响应该事件 – 其它控件: Scrollbar and TextArea – Canvas – Lable • 容器 – 类型:Panel,ScrollPane,window – 常见的容器:Dialog, FileDialog ,Applet, Frame AWT 标准组件(2)
AWT标准组件(3) 9-7 布局类 一选择预先定义好的组件排放格式 。事件处理类 一封装用户与应用程序交互的信息 其它组件类 Size and Shape Class -Color Class -Image Class -Font and FontMetrics Class -Graphics Programming in Java JAVA
9-7 Programming in Java • 布局类 – 选择预先定义好的组件排放格式 • 事件处理类 – 封装用户与应用程序交互的信息 • 其它组件类 – Size and Shape Class – Color Class – Image Class – Font and FontMetrics Class – Graphics AWT 标准组件(3)
a2水 AWT标准组件(4) 9-8 The AWT Components Menu Label Canvas List Iteml TextArea List Item2 List Item3 TextField Button CheckBox1 Choice Item 1 Programming in Java JAVA
9-8 Programming in Java The AWT Components MenuCanvas Label TextArea Button TextField CheckBox1 Choice Item 1 List Item1 List Item2 List Item3 AWT 标准组件(4)
AWT事件模型 9-9 ·用户发出命令,会引发一个系统预先定义好的事件 ·用户程序需要编制代码定义每个特定事件发生时程序应 做出如何响应 ·图形用户界面的每个可能产生事件的组件被称为事件源, 不同事件源上发生的事件的种类不同 ·事件源必须注册给能够处理该事件源上那种类型事件的 监听者 ·监听者可以是包容事件源的容器,也可以是另外的对象 ·监听者具有监听和处理某类事件的功能,是因为它实现 了相关的接口。这些接口内部包含了若干处理相关事件的 抽象方法,监听者需要写出具体的方法体 Programming in Java JA
9-9 Programming in Java AWT事件模型 • 用户发出命令,会引发一个系统预先定义好的事件 • 用户程序需要编制代码定义每个特定事件发生时程序应 做出如何响应 • 图形用户界面的每个可能产生事件的组件被称为事件源, 不同事件源上发生的事件的种类不同 • 事件源必须注册给能够处理该事件源上那种类型事件的 监听者 • 监听者可以是包容事件源的容器,也可以是另外的对象 • 监听者具有监听和处理某类事件的功能,是因为它实现 了相关的接口。这些接口内部包含了若干处理相关事件的 抽象方法,监听者需要写出具体的方法体
成2 委托事件模型(1) 9-10 登记.a.addMouseActionListener (e b.mouse -click (e) 事件 事件源 Mouse 激发 事件监听器 -Action 油住渔 响应 a -Event b e 查找监听器 class A class B complements MouseActionListener public void addMouseActionListener publ ic void (MouseActionListener I) mouseCl ick (MouseActionEvent e) Programming in Java JAVA
9-10 Programming in Java 委托事件模型(1) 事件源 a class A { ....... public void addMouseActionListener (MouseActionListener l) { ....... } ....... } class B complements MouseActionListener { ....... public void mouseClick(MouseActionEvent e ) { ....... } ........ } 事 件 Mouse -Action -Event e 激发 被传递 响应 b.mouse -Click(e) 查找监听器 登记:a.addMouseActionListener(e) 事件监听器 b