AWT及AWT事件处理共15页文档

合集下载

事件处理4

事件处理4

基本概念
事件源(event source):产生事件的对象。如在 一个按钮上单击鼠标时,该按钮是事件源,会产 生一个ActionEvent类型的事件。
事件监听者(Listener):Java程序把事件进行处理 的方法放在一个类对象中,这个类对象就是事件 监听者。事件源通过调用相应的方法将某个对象 设置为自己的监听者,监听者有专门的方法来处 理事件。
常用方法:
public String getActionCommand()返回与此动作相关的命 令字符串。
public long getWhen()返回发生此事件时的时间戳。 public int getModifiers()返回发生此动作事件期间按下的组
合键。 public Object getSource() 最初发生 Event 的对象。
} public static void main(String[] args){ GUIDemo8 d=new GUIDemo8(); }
}
选项事件类 ItemEvent
当用户在窗口中的带有可选择功能的组件中进行 选取操作时所发生的事件.
选项事件ItemEvent的监听者是ItemListener. 该接口中提供的事件处理方法只有一个 itemStateChanged(ItemEvent e),当组件中 的选项状态改变时,将调用该方法.
public GUIDemo8() { jta=new JTextArea(); jp1=new JPanel(); String[] chatters={"红红","白白","蓝蓝"}; jcb=new JComboBox(chatters); jtf=new JTextField(10); jb=new JButton("发送"); jsp=new JScrollPane(jta);

Java-AWT事件处理

Java-AWT事件处理

2019/3/19
13
窗口事件处理



接口:WindowListener。 方法:打开执行windowOpened(),单击窗口右 上角关闭按钮执行windowClosing(),单击最小 化按钮执行windowIconified()和 windowDeactivated(),鼠标单击其他窗口也 会执行windowDeactivated(),由最小化恢复 会执行windowDeiconified()和 windowActivated(),当前窗口为其他窗口 时单击该窗口,也会执行windowActivated(), 窗口被关闭,则执行windowClosed(). 方法参数:WindowEvent e
2019/3/19
15
动作事件的处理(文本框)

}

ActionListener除了用于鼠标单击按钮外,单行文本框中的回车、列表框中双击 选择某个选项也可以用其处理。 import java.awt.*; import java.awt.event.*; class xx implements ActionListener{ TextField t=new TextField(“you can enter here”,35); t.addActionListener(this); //即单行文本框可以自动监听。 …………… public void actionPerformed(ActionPerformed e){ String s=t.getText(); System.out.println(s); } 注意:对于多行文本框TextArea,不能自动监听,可以添加按钮来实现检查和提 交功能。

按钮添加监听:button.addActionListener(事件处理器);

AWT事件处理模型

AWT事件处理模型
◇低级事件
ComponentEvent(组件事件:组件尺寸的变化,移动)
ContainerEvent(容器事件:组件增加,移动)
WindowEvent(窗口事件:关闭窗口,窗口闭合,图标化)
FocusEvent(焦点事件:焦点的获得和丢失)
KeyEvent(键盘事件:键按下、释放)
MouseEvent(鼠标事件:鼠标单击,移动)
ContainerEvent
容器中增加删除了组件
ContainerListener
componentAdded(ContainerEvent)
componentRemoved(ContainerEvent)
TextEvent
文本字段或文本区发生改变
TextListener
textValueChanged(TextEvent)
AWT事件处理模型
上一节中的主要内容是如何放置各种组件,使图形界面更加丰富多彩,但是还不能响应用户的任何操作,要能够让图形界面接收用户的操作,就必须给各个组件加上事件处理机制。在事件处理的过程中,主要涉及三类对象:
◇Event-事件,用户对界面操作在java语言上的描述,以类的形式出现,例如键盘操作对应的事件类是KeyEvent。
//窗口关闭时调用
public void windowActivated(WindowEvent e);
//窗口激活时调用
public void windowDeactivated(WindowEvent e);
//窗口非激活时调用
}
AWT的组件类中提供注册和注销监听器的方法:
◇注册监听器:
public void add<ListenerType> (<ListenerType>listener);

AWT事件处理

AWT事件处理

Java AWT事件处理1 AWT事件处理基本概念AWT事件处理的过程中,主要涉及3类对象。

(1) Event(事件):用户对组件的一个操作,称之为一个事件,以类的形式出现,例如,键盘操作对应的事件类是KeyEvent。

其实例在改事件发生时有系统自动产生。

(2) Event Source(事件源):事件发生的场所,通常就是各个组件,例如按钮Button。

(3) Event Monitor(事件监听器):接收事件对象并对其进行处理的类的对象,通常其中某个成员方法对事件进行相应的处理。

事件委托处理模型图10-10 事件委托处理模型Java采取了事件委托处理模型(Delegation Model),事件源自己不处理事件,而是把在其自身所有可能发生的事件委托给事件监听器来处理。

比如,在Canvas对象上既可能发生鼠标事件,也可能发生键盘事件,该Canvas对象就可以委托给事件监听器1来处理鼠标事件,同时委托给事件监听器2来处理键盘事件。

委托模型把事件的处理委托给外部的处理实体进行处理,实现了将事件源和监听器分开的机制。

2 事件事件分类。

按事件的性质分类java.util.EventObject类是所有事件对象的基础父类,所有事件都是由它派生出来的。

AWT的相关事件继承于java.awt.AWTEvent类,这些AWT事件分为两大类:低级事件和高级事件。

(1)低级事件低级事件是指基于组件和容器的事件,当一个组件上发生事件,如鼠标的进入、点击、拖放等,或组件的窗口开关等时,触发了组件事件。

—ComponentEvent(组件事件:组件尺寸的变化、移动);—ContainerEvent(容器事件:组件增加、移动);—WindowEvent(窗口事件:关闭窗口、窗口闭合、图标化);—FocusEvent(焦点事件:焦点的获得和丢失);—KeyEvent(键盘事件:键按下、释放);—MouseEvent(鼠标事件:鼠标单击、移动)。

第13章事件处理(第4版)

第13章事件处理(第4版)

实现上述的接口,针对想要捕获的事件编写方法代码 。如要捕获单击按钮事件,就要为ActionListener接口 里的actionPerformed()方法编写代码。
为事件监听者创建一个对象,让自己的组件和方法完 成对它的注册,方法是在监听者接口的名字里加入一 个前缀“add”,如addActionListener()
待用户通过鼠标、键盘给它通知(消息驱动), 它再根据这个通知的内容进行相应的处理(事件 驱动)。 通常一个键盘或鼠标操作会引发一个系统预先定 义好的事件,用户只需编写代码,定义每个特定 事件发生时程序应做出何种响应即可。
3
13.1 委托事件处理
事件(event):用户使用鼠标或键盘对窗口中的组 件进行交互时所发生的事情。对这些事件做出响 应的程序,称为事件处理程序(Event Handler)。
见教材例13.5
20
13.6 文本组件及相应的事件处理
文本组件所触发的事件主要有动作事件 ActionEvent和文本变化事件CaretEvent 。 见教材例13.6
21
13.7 窗口组件及窗口事件处理
Window类的任何子类都可能触发下列的窗口事 件:打开窗口、正在关闭窗口、关闭窗口、激活窗 口、变成非活动窗口、最小化窗口和还原窗口。 Window类常用方法见教材表13.8
5
13.1 委托事件处理
Java语言规定:为了让监听者能对事件源发生的 事件进行处理,创建该监听者对象的类必须声明 实现相应的监听者接口或继承相应的适配类,即 必须在类体中具体定义该接口中所有方法的方法 体或覆盖适配器类中的相应方法,以供监听者自 动调用相应事件处理方法来完成对应事件的任务 ,这些处理事件的方法就是事件处理程序。
JCheckBoxMenuItem类的构造方法及常用方法 见教材表13.30、13.31。

Java第06章--1(AWT与Swing)

Java第06章--1(AWT与Swing)

• • 视图(view):它专门负责组件的绘制工作,主要涉及 paint()方法。MVC设计范式的最大优点是一个模型可以 有多个视图,每个视图是一个不同侧面但内容却是完整的。 • 一个模型的几个视图都是从不同侧面、用完整的内容来描 述同一个模型。当模型的控制器要修改其内容时,均会通 知这每个视图,它们都会自动地更新自己的视图显示。 • • 控制器(controller):专门负责管理和处理组件所接 收到的事件,这些事件可能来自用户的操作。如键盘输入、 鼠标点击和拖放等,也可能来自系统,如系统计时器发出 的事件。 • 视图和其控制器之间的通信不仅频繁且非常复杂,因此 JFC系统把两者封装成一个整体。
• • 模型(model):模型负责获取和管理组件的状态,用户若 需要询问组件的状态时,实际上是询问该组件的模型。 • 若要询问Swing型按钮组件(JButton 类的一个对象)的状 态,可调用JButton 类的父类javax.swing.AbstractButton所 提供的isSelected()方法,它定义为: – public boolean isSelected() { ... } – 该方法返回一个逻辑值,若为true则该按钮组件被压下,反 之返回false则按钮是松开状态。 • javax.swing包中的各种组件,对于描述该组件状态和内容的 模 型 都 是 用 以 Model 结 尾 的 接 口 实 现 , 例 如 , 对 于 按 钮 在 javax.swing包中有一个如下定义的接口: – public interface ButtonModel extends ItemSelectable { ... } • 每个JButton类的对象都保存着一个表示该按钮组件模型的对 象,调用其父类AbstractButton的方法就可以得到它,即: – JButton b = new JButton( "确定" );

AWT组件及事件处理(三)

AWT组件及事件处理(三)

public void actionPerformed(ActionEvent e) { if(e.getSource()==button1) { setBackground(Color.cyan); } else if(e.getSource()==button2) { setBackground(backColor); } } }
public void actionPerformed(ActionEvent e) {if(e.getSource() == tf) ta2.setText(tf.getText()); } public void textValueChanged(TextEvent e) {if(e.getSource() == ta1) ta2.setText(ta1.getText()); } }
CardLayout(卡片式布局)将每个组件看作一张 卡片,一个容器中可以加入多张卡片,但每次只 有一个可见。也称“多层页面设置”,它把每一 个组件都视为容器中的一层,每一个组件都会布 满整个容器。这些组件都会赋予一个名称,然后 再依这个名称来控制组件是否显示。 假设有一个容器con,使用CardLayout的一般步骤: 1、创建CardLayout布局对象 如:CardLayout card=new CardLayout(); 2、使用setLayout( )为容器设置布局 如:con.setLayout(card);
ScrollPane():创建滚动面板,滚动条初始不可见。
ScrollPane(int a) : 用指定的参数创建一个滚动 面板。a的取值为:
Scrollpane.SCROLLBARS-ALWAYS Scrollpane.SCROLLBARS-AS-NEEDED Scrollpane.SCROLLBARS-NEVER

AWT编程

AWT编程
– owner:指定该对话框所依赖的窗口,既可以是窗口,也可以是 对话框。
– title:指定该对话框的窗口标题。 – modal:指定该对话框是否是模式的,可以是true或false。
FileDialog
• Dialog类还有一个子类:FileDialog,它代 表一个文件对话框,用于打开、或者保存 文件,FileDialog也提供了几个构造器,分 别可支持parent、title和mode三个构造参数, 其中parent、title指定文件对话框的所属父 窗口和标题,而mode用于指定该窗口用于 打开文件、或保存文件,该参数支持如下 两个参数值:FileDialog.LOAD、 FileDialog.SAVE。
BorderLayout(con.)
• BorderLayout布局格式:当改变容器大小 时
– 当某个区域没有组件时,它的空间会被自动占 满。
– North, South和CentNero区rth域水平调整 – East, West和Center区域垂直调整
Center
South
East West
AWT的问题
• 使用AWT作出的图形用户界面在所有平台 上都显得很丑陋,功能也非常有限。
• AWT为了迎合所有主流操作系统的界面设 计,AWT组件只能使用这些操作系统上图 形界面组件的交集,所以不能使用特定操 作系统上复杂的图形界面组件,最多只能 使用四种字体。
• AWT用的是非常笨拙的,非面向对象的编 程模式。
绝对定位
• Java也提供了那种拖控件的方式,即Java 也可以对GUI组件进行绝对定位。在Java 容器中采用绝对定位的步骤如下:
– (1)将Container的布局管理器设成null: setLayout(null)。

Java面向对象程序设计案例教程课件:图形用户界面开发与事件处理

Java面向对象程序设计案例教程课件:图形用户界面开发与事件处理

《Java面向对象程序设计案例教程》
7.2 Swing基础
• Swing组件是Java语言提供的第二代GUI设计工 具包,它以AWT为基础,在AWT内容的基础上 新增或改进了一些GUI组件,使得GUI程序功能 更强大,设计更容易、更方便。
• Swing与AWT有以下不同。
• (1) Swing是完全用Java语言编写的,所以称 Swing组件是轻量级组件,没有本地代码,不依 赖操作系统的支持,比AWT构件具有更强的实 用性。Swing在不同的平台表现一致,并且有能 力提供本地窗口系统不支持的其他特性。
《Java面向对象程序设计案例教程》 • Swing的类层次结构如图所示:
《Java面向对象程序设计案例教程》
• 3. 简单的范例 • 一个简单的Swing GUI应用程序。该程序生成一个窗
口, • 窗口中有一个标签,用于显示输出。 • (1) 程序代码: • 1. import java.awt.* ; • 2. import javax.swing.* ; • 3. public class SwingDemo • 4. { • 5. public static void main(String args[]) • 6. { • 7. JFrame fm = new JFrame("第一个Windows程序") ; • 8. JLabel label = new JLabel("这是第一个GUI程序") ;
• 教材例题7-12 利用组合框显示、选取地名。
• 教材例题8.2 ,例题8.3用不同方法生成JFrame窗口
《Java面向对象程序设计案例教程》
• 7.3.2 面板容器JPanel
• 面板JPanel也是Java中常用到的容器之一,面板是一种透明 的容器,既没有标题,也没有边框,就像一块透明的玻璃。 与JFrame不同,它不能作为最外层的容器单独存在,它首 先必须作为一个构件放置到其他容器中,然后再把它作为容 器,把其他构件放到其中。

java中awt的常用的用法

java中awt的常用的用法

一、概述awt的作用1.1 awt的全称1.2 awt的定位和作用1.3 awt的优点和局限二、awt常用的组件2.1 按钮(Button)2.2 标签(Label)2.3 文本框(TextField)2.4 文本区域(TextArea)2.5 列表(List)2.6 下拉列表(Choice)2.7 复选框(Checkbox)2.8 单选按钮(RadioButton) 2.9 滚动条(Scrollbar)2.10 对话框(Dialog)2.11 框架(Frame)三、awt的布局管理器3.1 FlowLayout3.2 BorderLayout3.3 GridLayout3.4 GridBagLayout3.5 CardLayout四、awt事件处理4.1 事件概述4.2 事件监听器4.3 事件对象4.4 事件的处理五、awt绘图5.1 绘图的基本概念5.2 绘图的步骤5.3 绘制图形5.4 绘制图像5.5 绘制文本六、awt的高级应用6.1 图形用户界面(GUI)开发 6.2 多媒体处理6.3 网络编程6.4 多线程处理七、awt的实际应用7.1 GUI程序开发7.2 窗口程序设计7.3 界面美化7.4 数据展示八、结语在Java编程中,awt(Abstract Window Toolkit)是一个用于创建图形用户界面(GUI)应用程序的基本工具包。

它提供了一系列的组件、布局管理器、事件处理和绘图功能,帮助开发者快速构建可视化的程序界面。

本文将从awt的基本组件、布局管理器、事件处理、绘图以及高级应用方面进行详细介绍。

一、概述awt的作用1.1 awt的全称awt的全称是Abstract Window Toolkit,它是Java的一个基本GUI 工具包,提供了一系列的类和方法供开发者创建、管理和展示图形用户界面。

1.2 awt的定位和作用awt的定位是作为Java的标准库,为开发者提供创建GUI界面的基本工具,充分利用面向对象的思想,让开发者能够通过简单的调用API来完成复杂的图形界面设计。

第5章 基于Swing的图形化用户界面_1布局管理器与事件处理 - 全

第5章 基于Swing的图形化用户界面_1布局管理器与事件处理  - 全
AWT ( 重量级组件)
通过 java.awt 包
创建 GUI
容器 组件 布局管理器
包含 AWT 容器组件
以图形表示的对象允许用户交互
AWT 包 含 内 容
定义 GUI 组件的位置
使用 AWT 图形方法相对于窗口绘制图形
图形和绘制方法
字体 事件
创建并构造用于选择新字体的对象 用于用户和系统交互
AWT类结构
框架JFrame


JFrame是放置其他Swing组件的顶级容器。
JFrame用于在Swing程序中创建顶层窗口。 默认情况下,框架的尺寸是没有实际意义的0X0像素。 为了设定合适的框架大小,要调用框架的setSize方法。

默认情况下,框架在创建时是不可见的。为了显示框架 ,要调用框架的setVisible方法。
AWTEvent Font Component ng.object Graphics MenuComponent 布局管理器类 Window Frame Container
Panel
Applet
Swing概述
通过 Swing (轻量级组件,纯Java组件) Javax.swing 包 创建 GUI

默认情况下,当用户关闭一个框架时,该框架会隐藏起
来,程序不会终止,调用setDefaultCloseOperation。
JFrame应用示例
创建具有以下特征的窗口: • 自定义窗口的标题; • 窗口的大小不可变(300,200); • 窗口居中显示。
标题
最大化按钮 失效
JFrame应用示例
import javax.swing.*; class App5_1 { public static void main(String[] args) { JFrame f=new JFrame("第一个Java窗口"); //创建容器 f.setSize(300,200); //设置容器大小 f.setLocationRelativeTo(null) ; //框架居中 f.setVisible(true); //设置框架可见性 f.setResizable(false); //设置不能改变框架大小 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } }

第12章 事件处理

第12章  事件处理

12.1.2 动作事件类
动作事件类就是用户在操作按钮、多选框、文本框等组件 的时候所发生的动作事件,也就是指发生组件所定义的语 义事件。例如单击按钮、在文本框中按下回车键等。使用 动作事件类的时候需要为组件添加一个事件监听器 ActionListener。
12.1.3 调整事件类
调整事件类主要是为滑动滚动条的滚动块所设定的事件。 滚动条组件ScrollBar在滑动滚动块的时候就会触发这个 事件。就相当于使用的游标卡尺,在波动游标的时候,就 会触发这个调整事件。和前面相同,如果监听调整事件, 就需要为ScrollBar添加一个调整事件监听器 AdjustmentListener。
12.4 事件应用方法
在使用时间适配器或者是事件监听器的时候。可以根据实际 的情况而选择使用内部类或者是外部类的方式。本节中主 要介绍使用内部类、外部类、匿名内部类在图形界面卡发 中的应用。
12.4.1 内部类方式应用
前面介绍过内部类,也就是定义在一个类内部的类,它的特 点就是对象具有外部类变量和方法的访问权限包括有私有 成员,而且使用内部类实现事件监听器的功能时比较方便 简洁。
12.2 事件监听器
事件监听器是用于监听事件源触发事件的对象。其中包括 有对事件发生后的处理操作。在Java语言中,针对于不 同的事件,定义了相应的事件监听接口。
12.2.1 事件监听器的接口实现
前面所介绍的每一个事件类都有一个事件监听器的接口。 例如,实现键盘事件就必须要实现接口EventListener, 重写接口的方法如下所示。
12.4.2 匿名类方式应用
事件处理中,不仅可以使用成员内部类,也可以使用匿名 内部类的方式。声明了成员内部类以后,只创建一个对象 ,并且新的类继承了事件适配器或者是实现了事件的监听 接口,就可以使用匿名内部类。

3ATWSwing事件处理

3ATWSwing事件处理

3ATWSwing事件处理AWT(AbtractWindowingToolkit)是用来创建Java图形用户界面的基本工具.JavaSwing是JFC(JavaFoundationClae)的一部分,它可以弥补AWT的一些不足.Container(容器):扩展组件的抽象基本类,例如Panel、Applet、Window、Dialog和Frame等是由Container演变的类,容器中可以包括多个组件。

LayoutManager(布局管理器):定义容器中组件的摆放位置和大小接口。

Java中定义了几种默认的布局管理器。

Graphic(图形):组件内与图形处理相关的类,每个组件都包含一个图形类的对象。

1组件",ColorgetForeground():获取组件的前景色。

",StringgetName():获取组件的名称。

",DimeniongetSize():以Dimenion对象的形式返回组件的大小。

",voidpaint(Graphicg):绘制该组件。

",voidrepaint():重绘组件。

",voidupdate(Graphicg):更新该组件。

",voidetViible(booleanb):根据参数的值显示或隐藏此组件。

",voidetSize(intwidth,intheight):调整组件的大小,使其宽度和高度分别为width和height。

",voidetName(Stringname):将组件的名称设置为指定的字符串。

",voidetForeground(Colorc):设置组件的前景色。

AWT的组件库画布(Canva)是处于屏幕上的一个空白矩形区域,在该区域可以绘图,也可以获得用户激发的事件。

画布组件可以监听鼠标事件和键盘事件。

publicvoidpaint(Graphicg)由于画布的paint()方法默认操作是清除画布,所以重写此方法的应用程序不需要调用uper.paint(g)。

AWT

AWT

AWT是api负责为Java程序建立的图形用户接口,AWT无疑使Java平台中最直观的部分之一。

AWT的基本思想是以面向对象的方法实现了一个跨平台GUI工具集,它提供了各种用于GUI设计的标准组件。

上面的图是AWT组件内容。

1.组件:组件是图形用户界面的,最小单位之一,它里面不再包含其它的成分。

一般的来说组件的作用是完成与用户的一次交互。

例如:接受用户的一个命令。

结束用户的一个文本输入、向用户显示文字或者是图片等等。

组件是图形用户界面标准化结果。

常见的组件有按钮、文本框、密码框等等。

2.容器:容器是用来组织其它界面成分和元素的单元。

一般说来一个应用程序的图形用户界面首先对应一个复杂的容器。

例如一个窗口。

这个容器的内部包含其他的内容。

如:按钮文本框、菜单等等。

也或者包含有其他的容器。

3.布局管理器:为了使生成的图形用户界面具有良好的平台无关性。

在Java语言当中提供了布局管理器这个功能,来管理组件在容器当中的布局。

而不是直接的设置位置和大小。

布局管理器就是一个指定其位置的工具,实现跨平台时仍然保持组件原来的布局。

Java当中所有和awt相关的类,都放在java.awt这个包中。

awt包是Java基本包中比较大的一个包。

在其中定义了GUIi的组件类以及其他用于构造图形用户界面的类。

如:字体类、绘图类等等。

上图描述了awt中的体系结构,采用从上倒下分层方式组织,所以理解和使用起来比较方便。

从这个体系结构我们可以看出,抽象类Component是所有除了菜单类组件之外AWT组件的父类。

他代表一个能以图形化方式显示出来,并且可以与用户交互的对象,例如:他的子类Button就代表按钮、TextArea就代表文本域、Container就代表容器。

从广义角度来讲,AwT是由各种容器组件构成。

如按钮、文本框等等小组件,窗口、框架等等大组件。

还有负责控制的布局管理器组件。

从刚才的AWT组件类层次中我们可以看出,容器类Container是Component的直接子类。

描述awt事件处理机制

描述awt事件处理机制

描述awt事件处理机制AWT(Abstract Window Toolkit)是Java的原始图形用户界面工具包,提供了一种供开发人员创建GUI应用程序的方法。

AWT事件处理机制允许开发人员对用户界面中的事件进行响应和处理。

AWT事件处理机制包括以下关键组件:1. 事件对象(Event objects):事件对象代表了用户界面中发生的事件,例如按钮点击、鼠标移动等。

每种类型的事件都有对应的事件对象。

2. 事件源(Event source):事件源是触发事件的组件,例如按钮、文本框等。

当事件发生时,事件源会创建一个事件对象并通过调用监听器的方法将事件对象传递给监听器。

3. 监听器(Listener):监听器是一个接口,定义了一种特定类型的事件处理方法。

开发人员可以为每种类型的事件创建一个监听器,并实现对应的事件处理方法。

4. 注册监听器(Registering listeners):开发人员需要将监听器注册到事件源上,以便在事件发生时能够接收到事件对象。

通常,通过调用事件源的`addXXXListener()`方法来注册监听器。

5. 事件分发器(Event dispatcher):事件分发器负责将事件对象传递给正确的监听器。

当事件发生时,事件源会将事件对象传递给事件分发器,然后事件分发器将根据事件类型寻找相应的监听器,并调用相应的事件处理方法。

6. 事件处理方法(Event handling methods):监听器的事件处理方法用于处理特定类型的事件。

开发人员需要实现这些方法以定义事件发生时的响应行为。

总结起来,AWT事件处理机制的基本流程如下:1. 开发人员创建一个或多个监听器,并实现相应的事件处理方法。

2. 开发人员将监听器注册到所需的事件源上,以便在事件发生时能够接收到事件对象。

3. 当事件发生时,事件源会创建一个事件对象,并将其传递给事件分发器。

4. 事件分发器根据事件类型寻找相应的监听器,并调用监听器的事件处理方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
常用的方法:
first(Container c); next(Container c); previous(Container c); last(Container c); show(Container c,String name)
每个容器都有一个默认的布局管理器,可通过调用 setLayout()改变。
Java提供以下几种布局管理器: FlowLayout——流式布局; BorderLayout——边界布局; GridLayout——网格布局; CardLayout——卡片布局; GridBagLayout——网格包布局; 1.FlowLayout—流式布局管理器 FlowLayout是Panel和Applet的默认布局管理 器。容器内的组件采用从左到右,从上到下逐行摆 放。 FlowLayout类的构造方法有:
2.Panel(面板) Panel(面板)不能单独显示,必须放在Window或
Frame中,Panel是一块无边框的区域,其中也可以 放
入基本组件。 8.2.3 布局管理器(layout Manager)
Java在容器中设置布局管理器来负责对容器内的组 件进行管理。
布局管理器决定容器的布局策略及容器内组件的排 列顺序、组件大小和位置,以及当窗口移动或调整大 小后组件如何变化等。
BorderLayout是Window、Dialog和Frame的默 认布局管理器。
BorderLayout布局管理器将容器分为五个区:E、 W、S、N、C。
BorderLayout的构造方法: ◆ BorderLayout( ):组件之间没有水平、垂直间隙。 ◆ BorderLayout(int hgap,int vgap):组件之间有间 隙。
同样大小的网格单元。每个单元可容纳一个组件,并 且此组件将充满网格单元。组件按照从左至右,从上 至下的顺序填充。
GridLayout的构造方法: ◆GridLayout():容器划分为一行一列的网格。 ◆GridLayout(int rows,int cols):容器划分为指定行、
列数目的网格。
◆GridLayout(int rows,int cols,int hgap,int vgap): 容器划分为指定行、列数目的网格,并且指定组件
◆FlowLayout():组件居中摆放。 ◆FlowLayout(int align):组件按参数指定的对齐方式 摆放。LEFT—0,CENTER—1,RIGHT—2。 ◆ FlowLayout(int align,int hgap,int vgap):参数按 指定方式摆放,组件之间水平、垂直间距分别由 hgap、vgap参数指定。 2、BorderLayout布局管理器
AWT与Swing的区别:Swing组件的实现没有采 用任何本地代码,完全由Java语言实现,具有平台 独立的API并具有平台独立的实现.

8.1.2 java.awt包
AWT包所提供的类和接口主要功能包括:用户界 面组件;事件处理模型;图形和图象工具;布局管理 器;数据传送类等等。
AWT的类层次结构(P211).
(TextField)、对话框(Dialog)。 【注】
组成GUI的组件,不能独立使用,必须放在容器内。 8.2.2 容器(Container)
容器是Component的抽象类的一个子类。一个容器可 以容纳多个组件,并使它们称为一个整体。
使用容器可以简化图形界面的设计,以整体结构来布 置 界面。容器本身也是一个组件,具有组件的所有性质,另 外还有容纳其他组件的功能。
间的水平与垂直间隙。 4、CardLayout布局管理器
CardLayout可以使两个或更多的组件共享同一显 示空间。Card把这些组件像一系列卡片一样叠放, 一个时刻只有最上面的是可见的。
CardLayout的构造方法有:
◆CardLayout():没有上下左右边界间隙。 ◆CardLayout(int hgap,int vgap):指定边界的间隙.
8.2 基于AWT的GUI构建方法
构建基于AWT的GUI,关键是了解AWT中组件、 容器和布局管理器以及它们之间的关系。
8.2.1 组件 组件是GUI的基本组成元素。所有AWT的组件都是
抽象类Component或MenuComponent类的子类。
常用的组件包括:按钮(Button)、复选框(Checkbox) 下拉菜单(Choice)、框架(Frame)、标签(label)、列表 (List)、面板(Panel)、文本区(TextArea)、文本域
BorderLayout的add()方法:
◆ public Component add(String name,Conponent comp) ◆ public void add(Component,Object constraints)
3、GridLayout布局管理器 GridLayout布局管理器把容器分成网格n行m列
有三种类型的容器:Window,Panel,ScrollPane. 所有的组件都可以通过add()方法向容器中添加组件。
1.Frame(框架) Frame可以作为Java的顶级窗口使用,它是
Windows类的子类,带有标题并可改变大小。 Frame类的构造方法有:
Frame(); Frame(String title); Frame类的常用方法: setSize(int , int); setBackground(Color c); setResizable(boolean resizable); setVisible(boolean b);
第八章 AWT及AWT事件处理
AWT是Java中支持图形化用户界面GUI设计的一个
工具集.GUI实现应用与用户的交互,是一个应用程序的
重要组成部分.
8.1 AWT概述
8.1.1 AWT基本原理
为满足Java程序的可移植性要求,AWT类库中的 各种操作被定义成在一个抽象窗口中进行。抽象窗 口使得界面的设计能够独立于界面的实现,使得利 用AWT开发的GUI能够适用于所有的平台系统。
相关文档
最新文档