ch12_AWT-事件处理模型课件

上传人:ni****g 文档编号:571186523 上传时间:2024-08-09 格式:PPT 页数:29 大小:56KB
返回 下载 相关 举报
ch12_AWT-事件处理模型课件_第1页
第1页 / 共29页
ch12_AWT-事件处理模型课件_第2页
第2页 / 共29页
ch12_AWT-事件处理模型课件_第3页
第3页 / 共29页
ch12_AWT-事件处理模型课件_第4页
第4页 / 共29页
ch12_AWT-事件处理模型课件_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《ch12_AWT-事件处理模型课件》由会员分享,可在线阅读,更多相关《ch12_AWT-事件处理模型课件(29页珍藏版)》请在金锄头文库上搜索。

1、AWT 事件处理模型什么叫事件nEvent事件,就是发生在用户界面上的用户交互行为所产生的一种效果。nEvent Source产生事件的对象。nEvent handler接收事件对象并对其进行处理的方法。事件处理模型nHierachical model(JDK 1.0)事件传递机制。nDelegation model(JDK 1.1, 1.2)授权处理机制。Delegation Modeln将事件源对象和事件处理器(事件监听器)分开。import java.awt.*;import java.awt.event.*;public class TestButton public static v

2、oid main(String args)Frame f = new Frame(Test);Button b = new Button(Press Me!);b.addActionListener(new ButtonHandler();f.setLayout(new FlowLayout();f.add(b);f.setSize(200,100);f.setVisible(true); class ButtonHandler implements ActionListener public void actionPerformed(ActionEvent e)System.out.prin

3、tln(Action occurred);n使用JDK1.1授权处理模型进行事件处理的一般方法:q对于某种类型的事件XXXEvent,要想接收并处理这类事件,必须定义相应的事件监听器类,该类需要实现针对特定事件的特定接口XXXListener;q事件源中产生事件后,必须注册相应于该类事件的监听器,使用addXXXListener(XXXListener )方法来注册监听器。njava.util.EventObject类EventObject类是所有事件对象的基础类,所有的事件类都是由它派生出来的。public class EventObject implements java.io.Seria

4、lizable protected transient Object source; public EventObject(Object source); public Object getSource(); public String toString();njava.awt.AWTEvent和AWT有关的所有事件类都由java.awt.AWTEvent类派生 ,AWT事件共有10类,可以归为两大类:低级事件和高级事件。n低级事件qComponentEvent(组件事件:组件尺寸的变化,移动)qContainerEvent(容器事件:组件增加,移动)qWindowEvent(窗口事件:关闭窗

5、口,窗口闭合,图标化)qFocusEvent(焦点事件:焦点的获得和丢失)qKeyEvent(键盘事件:键按下、释放)qMouseEvent(鼠标事件:鼠标单击,移动)n高级事件(语义事件)qActionEvent(动作事件:按钮按下,TextField中按Enter键)qAdjustmentEvent(调节事件:在滚动条上移动滑块以调节数值)qItemEvent(项目事件:选择项目,不选择项目)qTextEvent(文本事件,文本对象改变)AWT事件及其相应的监听器接口nActionEventq激活组件qActionListenerqactionPerformed(ActionEvent)n

6、ItemEventq选择了某些项目qItemListenerqitemStateChanged(ItemEvent)nMouseEventq鼠标移动qMouseMotionListenerqmouseDragged(MouseEvent)mouseMoved(MouseEvent)nMouseEventq鼠标点击等qMouseListenerqmousePressed(MouseEvent) mouseReleased(MouseEvent) mouseEntered(MouseEvent) mouseExited(MouseEvent) mouseClicked(MouseEvent)nKe

7、yEventq键盘输入qKeyListenerqkeyPressed(KeyEvent) keyReleased(KeyEvent) keyTyped(KeyEvent)nFocusEventq组件收到或失去焦点qFocusListenerqfocusGained(FocusEvent)focusLost(focusEvent)nAdjustementEventq移动了滚动条等组件qAdjustmentListenerqadjustmentValueChanged(AdjustmentEvent)nComponentEventq对象移动缩放显示隐藏等qComponentListenerqcom

8、ponentMoved(ComponentEvent)componentHidden(ComponentEvent)componentResized(ComponentEvent)componentShown(ComponentEvent)nWindowEventq窗口收到窗口级事件qWindowListenerqwindowClosing(WindowEvent)windowOpened(WindowEvent)windowIconified(WindowEvent)windowDeiconified(WindowEvent)windowClosed(WindowEvent)windowAc

9、tivated(WindowEvent)windowDeactivated(WindowEvent)nContainerEventq容器中增加删除了组件qContainerListenerqcomponentAdded(containerEvent)componentRemoved(containerEvent)nTextEventq文本字段或文本区发生改变qTextListenerqtextValueChanged(TextEvent)事件处理举例import java.awt.*;import java.awt.event.*;public class TwoListen implemen

10、tsMouseMotionListener,MouseListener,WindowListener private Frame f;private TextField tf;public static void main(String args)TwoListen two = new TwoListen();two.go();public void go() f = new Frame(Two listeners example);f.add(new Label(Click and drag the mouse),North);tf = new TextField(30);f.add(tf,

11、South);f.addMouseMotionListener(this);f.addMouseListener(this);f.addWindowListener(this);f.setSize(300,200);f.setVisible(true);public void mouseDragged (MouseEvent e) String s = Mouse dragging : X=+e.getX()+Y = +e.getY();tf.setText(s); public void mouseMoved(MouseEvent e) public void mouseClicked(Mo

12、useEvent e) public void mouseEntered(MouseEvent e)String s = The mouse entered;tf.setText(s); public void mouseExited(MouseEvent e)String s = The mouse has left the building;tf.setText(s); public void mousePressed(MouseEvent e)public void mouseReleased(MouseEvent e)public void windowClosing(WindowEv

13、ent e) System.exit(1);public void windowOpened(WindowEvent e) public void windowIconified(WindowEvent e) public void windowDeiconified(WindowEvent e) public void windowClosed(WindowEvent e) public void windowActivated(WindowEvent e) public void windowDeactivated(WindowEvent e) n事件适配器(Event Adapters)qComponentAdapter(组件适配器)qContainerAdapter(容器适配器)qFocusAdapter(焦点适配器)qKeyAdapter(键盘适配器)qMouseAdapter(鼠标适配器)qMouseMotionAdapter(鼠标运动适配器)qWindowAdapter(窗口适配器)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号