事件处理4

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

基本概念
事件源(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);
文本事件类 TextEvent
文本事件类是发生在JTextField和JTextArea上 的,
包含一个事件,textValueChange(TextEvent e) 当上述两个组件中的文字内容改变时,会触发文本 事件TextEvent.
TextEvent事件类的监听者接口为TextListener.
mouseDragged(MouseEvent) mouseMoved(MouseEvent)
键盘输入 KeyListener
KeyPressed(KeyEvent) KeyReleased(KeyEvent) KeyTyped(KeyEvent)
窗口收到 窗口 级事件
WindowListener
windowClosing(WindowEvent) windowClosed(WindowEvent) windowOpened(WindowEvent) windowIconified(WindowEvent) windowDeiconified(WindowEvent) windowActivated(WindowEvent) windowDeactivated(WindowEvent)
实例1:变色的按钮
public void actionPerformed(ActionEvent e) { JButton my=(JButton)e.getSource();//获得事件源并强制转换类型 if(my==jb1) { jb1.setBackground(Color.yellow); System.out.print("yellow"); } else if(my==jb2) jb2.setBackground(Color.blue); else if(my==jb3) jb3.setBackground(Color.red); else System.exit(0); } public static void main(String[] args) { Actionevent d=new Actionevent();
2、事件源实例化以后,必须进行授权,注册该类事件 的监听器,使用addXXXListener(XXXListener ) 方法 来注册监听器。
操作事件类 ActionEvent
又称动作事件类,当用户在当前窗口中单击鼠标,选择菜 单项,在文本框或文本区中输入文字后按Enter键等能触 发操作事件。
public app13_1() { bt=new JButton("设置字体颜色"); jta=new JTextArea("字体颜色",5,20); bt.addActionListener(this);//4、注册 this.setLayout(new FlowLayout()); this.add(jta); this.add(bt); this.setTitle("操作事件"); this.setSize(260,170); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true);
} public void actionPerformed(ActionEvent e)//3、实现接口中的方法 { jta.setForeground(Color.red); }
public static void main(String[] args) { app13_1 d=new app13_1();
基本概念
事件处理接口:java规定,为了让监听者能对事 件源发生的事件进行处理,创建该监听者对象的 类必须声明实现相应的接口
实例:在一个窗口中摆放两个组件, 一个命令按钮,一个文本区,当单 击按钮后,将文本区中的字体颜色 设置为红色。
1、包含“事件源”的对象来担任监听 import java.awt.*;
}
import java.awt.*; import javax.swing.*; import java.awt.event.*;
public class GUIDemo8 extends JFrame implements ActionListener{ JTextArea jta; JPanel jp1; JButton jb; JComboBox jcb; JTextField jtf; JScrollPane jsp;
Java语言的事件处理类
Java语言的事件处理类
语义事件(高级事件):直接继承自AWTEvent 类。其监听者接口中只包含一个方法。
底层事件(低级事件):
事件类别
描述信息
AWT事件的监如听果器接要口实现某个接口,必须覆盖其中
接口名
的所有方法,允许方方法法得的代码为空
ActionEvent
文本发生 改变
TextListener
textValueChanged(TextEvent)
事件处理机制
使用授权处理模型进行事件处理的一般方法归纳 如下:
1、确定触发的事件,取得事件的名字(XXXEvent) 定义相应的事件监听器类,该类需要实现与该事件相 对应的接口XXXListener;
2、实现上述的接口,针对想要捕获的事件编写方法 代码。
激活组件 ActionListener actionPerformed(ActionEvent e)
ItemEvent MouseEvent KeyEvent WindowEvent TextEvent
选择某些 项目
ItemLisener
itemStateChanged(ItemEvent)
鼠标单击 等
import javax.swing.*;
者 import java.awt.event.*;//1、引入包
public cs ActionListener{//2、实现接口 JButton bt; JTextArea jta;
第13章 事件处理
主要内容:
委托事件模型 担任监听者的条件 Java语言的事件处理类
基本概念
事件(event):用户使用鼠标或键盘对窗口中的组 件进行交互时的操作(单击鼠标,输入文字,单击 按钮)。
当一事件发生时,该事件用一个事件对象来表示。 事件对象有对应的事件类。不同的事件类描述不 同类型的用户动作。事件类包含在和包中。
jb.addActionListener(this); jp1.add(jcb); jp1.add(jtf); jp1.add(jb);
this.add(jsp); this.add(jp1,BorderLayout.SOUTH);
this.setTitle("聊天工具"); this.setIconImage((new ImageIcon("d:\\com.gif")).getImage());//?? this.setSize(300,200); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); }
public void actionPerformed(ActionEvent e) { JButton d=(JButton)e.getSource(); String na=(String)jcb.getSelectedItem();
//System.out.println(na+jtf.getText()); //jta.setText("对"+na+"说:"+jtf.getText()); jta.append("\n"+"对"+na+"说:"+jtf.getText()); jta.setForeground(Color.red);
MouseListener
mousePressed(MouseEvent) mouseReleased(MouseEvent) mouseEntered(MouseEvent) mouseExited(MouseEvent) mouseClicked(MouseEvent)
鼠标移动
MouseMotionLis terner
相关文档
最新文档