您好!欢迎来天下评测网-推荐优质主机-揭露骗子垃圾主机免费收录IDC商家
首页 >> 编程语言

java 什么是事件监听机制

1.java的事件监听机制包含三个组件:事件源、事件监听器、事件对象。
2.当事件源上发生操作时,它将会调用事件监听器的一个方法,并且会传递一个事件对象过来。
3.事件监听器由开发人员编写,开发人员在事件监听器中,可以拿到事件源,从而对事件源上的操作进行处理。


下面是一个简单的,自定义监听机制

package com.wordyun.demo;
  
public class Person {
    private PersonListener listener;
    public void addListener(PersonListener listener){
        this.listener=listener;
    }
      
    public void run(){
        if(this.listener!=null){
            this.listener.dorun(new PersonEven(this));
        }
        System.out.println("run....");
    }
    public void eat(){
        if(this.listener!=null){
            this.listener.doeat(new PersonEven(this));
        }
        System.out.println("eat....");
    }
}
  
interface PersonListener{
    void dorun(PersonEven e);
    void doeat(PersonEven e);
}
class PersonEven{
    private Person person;
      
    public PersonEven() {
          
    }
  
    public PersonEven(Person person) {
        this.person = person;
    }
  
    public Person getPerson() {
        return person;
    }
  
    public void setPerson(Person person) {
        this.person = person;
    }
      
}

调用

package com.wordyun.demo;
  
public class Demo2 {
    
    public static void main(String[] args) {
        Person p=new Person();
        p.addListener(new PersonListener() {
              
            @Override
            public void dorun(PersonEven e) {
                System.out.println(e.getPerson()+"天下评测网,欢迎您!!!!");
                  
            }
              
            @Override
            public void doeat(PersonEven e) {
                  
                System.out.println(e.getPerson()+"天下评测网,欢迎您!!");
            }
        });
        p.eat();
        p.run();
    }
  
}