Java-AWT事件处理

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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(事件处理器);
2019/3/19
9
键盘处理事件 1
import java.awt.*; import java.awt.event.*; public class XX implements KeyListener{ //接口 public void keyTyped(KeyEvent ev){ //接口方法 char c=ev.getKeyChar(); System.out.println(“keyTyped”+c); } public void keyPressed(KeyEvent ev){ …………… } public void keyRealeased(KeyEvent ev){ ……………….. } }
2019/3/19
7
事件处理


用户单击按钮, 自动产生的对象为ActionEvent 自动执行ActionPerformed()方法; 按动键盘(按下、释放、击键) 自动产生的对象为KeyEvent 自动执行KeyPressed(),KeyReleased(), KeyTyped()方法。
2019/3/19
2019/3/19
10
鼠标事件的处理2

实现的接口有两类:一类是MouseListener, 它处理鼠标单击以及鼠标进出操作;

另一类是MouseMotionListener,它处理鼠标 拖动和移动操作。
2019/3/19
11


使用时可以实现其中的一个接口,也可以两个都实 现。 对于MouseMotionListener,拖动鼠标将执行 mouseDragged(),移动鼠标将执行 mouseMoved()。 对于MouseListener,鼠标按钮按下将执行 mousePressed(),鼠标按钮释放将执行 mouseReleased(),鼠标按钮单击将执行 mouseClicked(),鼠标进入组件所在区域将执 行mouseEntered(),鼠标离开组件将执行 mouseExited()。
2019/3/19
5Leabharlann 事件处理 ——使图形界面接收并响应用户的操作

事件表达了程序、系统及使用程序的用户 之间的动作。当用户做某些事情时,系统 将创建一个相应表达该动作的事件,并传 递该事件给程序中的事件处理代码,以便 让用户得到相应的回应。
2019/3/19
6
Java事件处理——委托事件模型

当事件发生时,产生事件对象(即事件源),会把 信息转给“事件监听器”处理的一种方式。

信息是java.awt.event事件类库中,某个类所创建的对 象,称为“事件对象(event object)”

三个重要概念


1.事件源——发生事件的对象,如:按钮 2.监听器——对事件源实施监视的对象,如:包含按钮的 窗口 3.处理事件的接口——监听器对象自动调用一个方法,负 责处理事件源发生的事件。

2019/3/19
17
Adapter类



事件处理器实现的接口中往往有多个方法要实现,而某个具体 程序用到的可能只是其中的一个,但实现接口时根据接口的语 法规则必须把所有方法都实现,因此程序中不使用的方法要写 空语句。 为了简化程序,java中预定义了一些特殊的类,这些类应经实 现了相应的接口,方法中已经写上空语句,使用时只要将事件 处理器作为子类(使用extends,而不是implements)即可。 命名规则:只要将接口中的Listener改为Adapter即可。对于 只有一个方法需要实现的接口,没有Adapter。 public class xx extends WindowAdapter implements WindowListener{ }
focusGained(FocusEvent e)组件获得焦点时 focusLost(FocusEvent e)组件失去焦点时 itemStateChanged(ItemEvent e) 选择复选框、选项框、单击列表框、选中带复选框菜 单时 keyPressed(KeyEvent e)键按下时 keyReleased(KeyEvent e) 键释放时 keyTyped(KeyEvent e)击键时 mouseClicked(MouseEvent e) 单击鼠标时 mouseEntered(MouseEvent e)鼠标进入时 mouseExited(MouseEvent e)鼠标离开时 mousePressed(MouseEvent e)鼠标键按下时 mouseReleased(MouseEvent e) 鼠标键释放时
ContainerEvent容器事件类 ContainerListener接口
2019/3/19
3
FocusEvent焦点事件类 FocusListener接口 ItemEvent选择事件类 ItemListener接口 KeyEvent键盘事件类 KeyListener接口 MouseEvent鼠标事件类 MouseListener接口
2019/3/19
16
多个事件处理器
如果对一个组件添加多个事件处理器,则需要对每一个处理器创建一个类。 import java.awt.*; import java.awt.event.*; public class TwoListener{ Button b=new Button(“ok”); b.addActionListener(new xx()); b.addActionListener(new yy()); } public class xx implements ActionListener{ public void actionPerformed(ActionEvent t){ System.out.println(“First”+t.getActionCommand); } } public class yy implements ActionListener{ public void actionPerformed(ActionEvent t){ System.out.println(“Second”+t.getActionCommand); } }
12
2019/3/19
mport java.awt.*; import java.awt.event.*; public class xx implemets MouseListener,MouseMotionListener{ 对某一组件添加监听。 public void mouseMoved(MouseEvent ev){ int x=ev.getX(); int y=ev.getY(); System.out.println(“mouseMoved”+x+y); } ………………………….其它方法类似 }
2019/3/19
2
常用Java事件类、处理该事件的接口及 接口中的方法
事件类/接口名称
ActionEvent动作事件类 ActionListener接口
接口方法及说明
actionPerformed(ActionEvent e) 单击按钮、选择菜单项或在文本框中按回车时
AdjustmentEvent调整事件类 adjustmentValueChanged(AdjustmentEvent e) AdjustmentListener接口 当改变滚动条滑块位置时 ComponentEvent组件事件类 ComponentListener接口 componentMoved(ComponentEvent e)组件移动时 componentHidden(ComponentEvent e)组件隐藏时 componentResized(ComponentEvent e)组件缩放时 componentShown(ComponentEvent e)组件显示时 componentAdded(ContainerEvent e)添加组件时 componentRemoved(ContainerEvent e) 移除组件时
第11讲 AWT组件及事件处理机制
按钮 事件处理机制 文本事件 窗口事件
2019/3/19 1
常用Java事件类、处理该事件的接口及 接口中的方法

Java将所有组件可能发生的事件进行分类, 具有共同特征的事件被抽象为一个事件类 AWTEvent,其中包括ActionEvent类(动 作事件)、MouseEvent类(鼠标事件)、 KeyEvent类(键盘事件)等。下表列出了 常用Java事件类、处理该事件的接口及接 口中的方法。
14
2019/3/19
选项事件的处理



单选按钮、复选框、下拉列表、列表框、菜单中 每个选项或菜单项都可以使用选项事件进行处理。 接口:ItemListener,每当选择某个选项,便 会自动执行itemStateChanged()方法,该方法 的参数为ItemEvent。其getItem()方法可以获 得选项对应的字符串,getStateChange()方法 可以获得选项是选中(值为 ItemEvent.SELECTED)还是未选中(值为 ItemEvent.DESELECTED)。 添加监听:.addItemListener(this);
2019/3/19
4
MouseEvent鼠标移动事件类 MouseMotionListener接口 TextEvent文本事件类 TextListener接口 WindowEvent窗口事件类 WindowListener接口
mouseDragged(MouseEvent e)鼠标拖放时 mouseMoved(MouseEvent e)鼠标移动时 textValueChanged(TextEvent e) 文本框、多行文本框内容修改时 windowOpened(WindowEvent e)窗口打开后 windowClosed(WindowEvent e)窗口关闭后 windowClosing(WindowEvent e)窗口关闭时 windowActivated(WindowEvent e)窗口激活时 windowDeactivated(WindowEvent e) 窗口失去焦点时 windowIconified(WindowEvent e)窗口最小化时 windowDeiconified(WindowEvent e) 最小化窗口还原时
8
按钮事件处理

对于鼠标单击按钮的事件,编写事件处理器时需要实现的接口为: ActionListener,该接口中只有一个方法需要实现: ActionPerformed(ActionEvent e)。
程序可以如下: import java.awt.event.*; class xx implements ActionListener{ public void actionPerformed(ActionEvent e){ System.out.println(e.getActionCommand()); //可以获得用户单击的按钮所对应的字符串。 } }
相关文档
最新文档