AWT事件处理机制
- 格式:ppt
- 大小:215.00 KB
- 文档页数:18
一、java面向对象(50个)易:1.对象是由一组属性和对这组属性进行(操作)的一组服务组成的。
2.对象是指(具体)的事物,而类是指一类具有某种共性的事物。
3.由类来确定具体对象的过程称为类的(实例化)。
4.一个类由类声明和(类体)两部分组成。
5.当一个类的类修饰符为( final )时,说明该类不能被继承,即不能有子类。
6.Java程序在extends之后只能有一个父类,即extends只能实现(单)继承。
7.在Java中只能实现单继承,但可通过(接口)实现多重继承。
8.一个类可实现多个接口,各接口名是以(,)分隔。
9.在类体中声明的变量称为(成员)。
10.在方法中声明的变量称为(局部变量)。
11.在Java程序中,使用关键字(this)来引用当前对象。
12.一个方法的定义是由方法声明和(方法体)两部分组成。
13.方法声明包括(方法名)、返回类型和形式参数。
14.构造方法的方法名要求与(类名)相同,而且无返回值。
15.面向对象的三个特性是:封装性、继承性和(多态性)。
16.在Java中,通过对象的(封装),实现了模块化和信息隐藏。
17.两个方法具有相同的名字,相同的参数表和相同的返回类型,只是函数体不同,则称为方法的(重写)。
18.Java中通过关键字(super)来实现对父类成员的访问。
19.Java用( extends)关键字指明继承关系。
20.在Java中,用关键字(abstract)来修饰一个类,则该类为抽象类。
21.若某个类包含了抽象方法,则该类必须被定义为(抽象)类。
22.接口的定义,需使用关键字(interface)来声明。
23.声明父类时,需使用关键字(extends)来实现。
24.java语言中接口是特殊的类,其中包含常量和(抽象)方法。
25.当要引用包中所有的类时,类名可以用通配符(* )号代替。
26.一个类要从另一个类继承变量和方法,必须使用关键字(extends)。
27.(抽象)类不能被实例化,它不具备实际功能,只用于衍生子类。
事件驱动程序设计图形用户界面是静态的,它应该能够响应用户的操作。
比如,当用户在GUI上输入一个字符或点击鼠标,都会发生事件,程序根据事件类型作出反应就是事件处理。
1.1 事件处理模型与事件类在Java 1.1版之前事件处理采用事件传递模型,这种方法有一定的缺点,因此从Java 1.1版开始,Java的事件处理采用了新的事件处理模型,我们称为事件代理模型(event delegation model)。
尽管在Java 2中仍然支持两种模型,但推荐使用新的事件模型。
所谓事件代理模型就是将事件的处理从事件源对象代理给一个或多个称为事件监听器(listener)的对象,事件由事件监听器处理。
事件代理模型把事件的处理委托给外部实体进行处理,实现了事件源和监听器分离的机制。
事件代理模型涉及到三种对象:事件源、事件和事件监听器。
①事件源(event source):产生事件的对象,一般来说可以是组件,如按钮、对话框等。
当这些对象的状态改变时,就会产生事件。
事件源可以是可视化组件,也可以是计时器等不可视的对象。
②事件(event):描述事件源状态改变的对象。
如按钮被点击,就会产生ActionEvent 动作事件。
③事件监听器(listener):接收事件并对其进行处理的对象。
事件监听器对象必须是实现了相应接口的类的对象。
Java的事件处理模型如图1所示。
首先在事件源上注册事件监听器,当用户行为触发一个事件时,运行时系统寻找事件监听器对象来处理事件。
图 1 Swing事件处理模型为了实现事件处理,Java定义了大量的事件类,这些类封装了事件对象。
Swing组件可产生多种事件,如点击按钮、选择菜单项会产生动作事件(ActionEvent),关闭窗口会产生窗口事件(WindowEvent)等。
所有事件类的根类是java.util.EventObject类,该类的定义为:package java.util;public class EventObject implements java.io.Serializable {protected transient Object source;public EventObject(Object source) {if (source == null)throw new IllegalArgumentException("null source");this.source = source;}public Object getSource() {return source;}294public String toString() {return getClass().getName() + "[source=" + source + "]";}}其中,getSource()方法是最重要的方法,它返回触发事件的事件源对象,注意它的返回类型是Object。
第一章思考题】1、简述path 环境变量的作用。
2、请说说你对JVM 的理解。
答案】1、path 环境变量是系统环境变量中的一种,它用于保存一系列可执行文件的路径,每个路径之间以分号分隔。
当在命令行窗口运行一个可执行文件时,操作系统首先会在当前目录下查找是否存在该文件,如果不存在会继续在path 环境变量中定义的路径下去寻找这个文件,如果仍未找到,系统会报错。
2、JVM 是Java Virtual Machine 的缩写,全称是Java 虚拟机。
Java 语言的一个非常重要的特性就是跨平台性,而Java 虚拟机是实现这一特性的关键。
不同的操作系统需要使用不同版本的虚拟机,这种方式使得Java语言能够“一次编写,到处运行”。
Java语言编译程序只需生成在Java 虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。
Java虚拟机在执行字节码时,把字节码解释成具体平台上的机器指令执行。
第二章【思考题】1、请简述& 与&& 的区别。
2、简述break、continue 和return 语句的区别。
【答案】1、&和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
当运算符“ &”和“ && ”的右边为表达式时,使用“ &”进行运算,不论左边为true 或者false,右边的表达式都会进行运算。
如果使用" && ”进行运算,当左边为false时,右边的表达式则不会进行运算,因此“ && ”被称作短路与。
2、break 语句:在switch 条件语句和循环语句中都可以使用break 语句。
当它出现在switch 条件语句中时,作用是终止某个case并跳出switch结构。
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(鼠标事件:鼠标单击、移动)。
GUI练习题图形与⽤户界⾯设计练习题⼀.选择题1.Window是宣⽰屏上独⽴的本机窗⼝,它独⽴于其它容器,Window的两种形式是()A、JFrame和JDialogB、JPanel和JFrameC、Container和ComponentD、LayoutManager和Container2.框架(Frame)的缺省布局管理器就是()A、流程布局(Flow Layout)B、卡布局(Card Layout)C、边框布局(Border Layout)D、⽹格布局(Grid Layout)3.java.awt包提供了基本的java程序的GUI设计⼯具,包含控件、容器和()A、布局管理器B、数据传送器C、图形和图像⼯具D、⽤户界⾯构件4.所有Swing构件都实现了()接⼝A、ActionListenerB、SerializableC、AccessibleD、MouseListener5.事件处理机制能够让图形界⾯响应⽤户的操作,主要包括()A、事件B、事件处理C、事件源D、以上都是6.Swing采⽤的设计规范是()A、视图----模式----控制B、模式-----视图---控制C、控制-----模式----视图D、控制----视图-----模式7.抽象窗⼝⼯具包( )是java提供的建⽴图形⽤户界⾯GUI的开发包.A、AWTD、/doc/75811ab665ce0508763213fc.html ng8.关于使⽤Swing的基本规则,下列说法正确的是( )A、Swing构件可直接添加到顶级容器中B、要尽量使⽤⾮Swing的重要级构件C、Swing的JButton不能直接放到Frame上D、以上说法都对9.下列不属于java.event包中定义的事件适配器的是( )A、构件适配器B、焦点适配器C、键盘适配器D、标签适配器10.( )布局管理器使容器中各个构件呈⽹格布局,平均占据容器空间。
A、FlowLayoutB、BorderLayoutC、GridLayoutD、CardLayout11.容器被重新设置⼤⼩后,哪种布局管理器的容器中的组件⼤⼩不随容器⼤⼩的变化⽽改变( )A、CardLayoutB、FlowLayoutC、BorderLayoutD、GridLayout12.paint()⽅法使⽤哪种类型的参数A、GraphicsB、Graphics2DC、StringD、 Color13.监听事件和处理事件( )A、都由Listener完成B、都由相应事件Listener处注册过的组件完成C、由Listener和组件分别完成D、由Listener和窗⼝分别完成14.下列哪个属于容器的组件( )A、JFrameD、 JApplet15.下列不属于容器的是( )A、JWindowB、TextBoxC、JPanelD、JScrollPane16.下⾯哪个语句是正确的( )A、Object o=new JButton(″A″);B、JButton b=new Object(″B″);C、JPanel p=new JFrame();D、JFrame f=new JPanel();⼆.填空题1、在需要⾃定义Swing构件的时候,⾸先要确定使⽤那种构件类作为所定制构件的______,⼀般继承Jpanel类或更具体的Swing类.2、Swing的事件处理机制包括_____、事件和事件处理者。
第1篇一、Java Swing基本概念1. 什么是Java Swing?答:Java Swing是一种用于创建图形用户界面的库,它是Java语言的一个扩展,允许开发者创建具有丰富视觉效果的桌面应用程序。
2. Swing的组件有哪些?答:Swing组件包括基本组件(如按钮、标签、文本框等)、容器组件(如面板、窗口、滚动条等)、特殊组件(如树、表格等)。
3. Swing与AWT的区别是什么?答:Swing是基于Java的,而AWT是基于本地平台的。
Swing组件在不同平台上表现一致,而AWT组件在不同平台上可能有所不同。
Swing运行速度较慢,但提供了更多功能和更好的用户体验。
二、Swing基本组件1. 如何创建一个按钮,并设置其文本和字体?答:使用JButton类创建按钮,并设置其文本和字体。
```javaJButton button = new JButton("按钮");button.setFont(new Font("宋体", Font.PLAIN, 12));```2. 如何获取并设置文本框中的文本?答:使用JTextField类创建文本框,并通过getText()和setText()方法获取和设置文本。
```javaJTextField textField = new JTextField();String text = textField.getText(); // 获取文本textField.setText("新文本"); // 设置文本```3. 如何使用单选按钮(JRadioButton)实现多选?答:使用JRadioButton类创建单选按钮,并使用ButtonGroup类将它们分组。
```javaJRadioButton radioButton1 = new JRadioButton("选项1");JRadioButton radioButton2 = new JRadioButton("选项2");ButtonGroup buttonGroup = new ButtonGroup();buttonGroup.add(radioButton1);buttonGroup.add(radioButton2);```4. 如何使用复选框(JCheckBox)实现多选?答:使用JCheckBox类创建复选框,它们之间互不影响。
一、概述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来完成复杂的图形界面设计。
第九章GUI案例9-1 AWT事件处理机制一、案例描述1、考核知识点编号:00109002名称:AWT事件处理机制2、练习目标掌握如何使用AWT事件处理机制3、需求分析事件处理机制专门用于响应用户的操作,比如,想要响应用户的点击鼠标、按下键盘等操作,就需要使用AWT的事件处理机制。
为了让初学者熟悉AWT的事件处理机制,本案例将实现关闭一个窗口的功能。
4、设计思路(实现原理)1)编写类Example012)建立一个窗体,名为“第一个窗体”3)定义一个类MyWindowListener实现事件监听器的接口WindowListener。
4)通过addWindowListener()方法为事件源注册事件监听器对象。
二、案例实现import java.awt.*;import java.awt.event.*;public class Example01 {public static void main(String[] args) {// 建立新窗体Frame f = new Frame("第一个窗体!");// 设置窗体的宽和高f.setSize(300, 300);// 设置窗体的出现的位置f.setLocation(300, 200);// 设置窗体可见f.setVisible(true);// 为窗口组件注册监听器MyWindowListener mw=new MyWindowListener();f.addWindowListener(mw);}}// 创建MyWindowListener类实现WindowListener接口class MyWindowListener implements WindowListener {// 监听器监听事件对象作出处理public void windowClosing(WindowEvent e) {Window window = e.getWindow();window.setVisible(false);// 释放窗口window.dispose();}public void windowActivated(WindowEvent e) {}public void windowClosed(WindowEvent e) {}public void windowDeactivated(WindowEvent e) {}public void windowDeiconified(WindowEvent e) {}public void windowIconified(WindowEvent e) {}public void windowOpened(WindowEvent e) {}}运行结果如图9-1所示。
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是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(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. 事件分发器根据事件类型寻找相应的监听器,并调用监听器的事件处理方法。