这里有张图描述的得很清晰,没找到图的原作者就厚着脸借来用下了
Java 最新的事件处理方法是基于授权事件模型
事件源生成事件并将其发送至一个或多个监听器
监听器简单地等待,直到它收到一个事件。一旦事件被接受,监听器将处理这些事件,然后返回。
事件:在授权事件模型中,事件是一个描述事件源状态改变的对象 。
通过鼠标、键盘与 GUI 界面直接或间接交互都会生成事件。 如:按下一个按钮、通过键盘输入一个字符、选择列表框中的一项、点击一下鼠标等。
事件源:事件源是一个生成事件的对象
一个事件源可能会生成不同类型的事件
这里我写一个模仿按钮点击的事件监听
监听器:
public interface OnClickListener {
void onclick();
}
事件源:
public class Button {
private OnClickListener onClickListener;
public void setOnClickListener(OnClickListener onClickListener){
this.onClickListener = onClickListener;
}
public void onclick(){
onClickListener.onclick();
}
}
使用:
public class Main{
public static void main(String[] args) {
Button button = new Button();
button.setOnClickListener(listener);//注册监听器
button.onclick();//模仿按钮的点击,也就是点击事件
}
public static OnClickListener listener = new OnClickListener() {
@Override
public void onclick() {
System.out.println("点击按钮时触发了事件");
}
};
}