java事件处理模型知识点总结
我们在上手一个新项目时,对于陌生的环境不适用难免会出现一些错误,这时候就需要有经验的人来帮忙。java中的事件处理模型就类似这样的原理,分为三类对象,在特定的环境下,由监听器对事件源进行监督。下面我们就java事件处理模型的基本原理、三类对象、实例分别进行学习。
1.基本原理
每个事件源可以发出若干种不同类型的事件。在程序中为每个事件源指定一个或者多个监听者,它可以对某种事件进行监听。如果某种事件发生,就调用相应监听者中的方法。
2.三类对象
(1)EventSource(事件源):事件发生的场所,通常就是各个组件,如按钮,窗口;
(2)Event(事件):事件封装了界面组件上发生的特定事情。
(3)EventListener(事件监听器):负责监听事件源所发生的事件,并对各种事件做出相应的响应。
3.实例
packageSwing;
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
publicclassEvent_ExamextendsJFrameimplementsActionListener{
staticEvent_ExammainJFrame=newEvent_Exam();
staticJLabellabl1,labl2;
staticJLabelshowlb1=newJLabel("0");
staticJLabelshowlb2=newJLabel("0.0");
staticJTextFieldtext1,text2;
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
mainJFrame.setTitle("操作事件示例!");
mainJFrame.setSize(200,160);
Containercontainer=mainJFrame.getContentPane();
container.setLayout(newFlowLayout());
labl1=newJLabel("输入整数型:");
container.add(labl1);
text1=newJTextField("0",10);
text1.addActionListener(mainJFrame);//把监听者mainJFrame向事件源text1注册
container.add(text1);
labl2=newJLabel("输入浮点数:");
container.add(labl2);
text2=newJTextField("0.0",10);
text2.addActionListener(mainJFrame);//把监听者mainJFrame向事件源text2注册
container.add(text2);
showlb1.setForeground(Color.blue);
showlb1.setHorizontalTextPosition(SwingConstants.LEFT);
showlb2.setForeground(Color.green);
showlb2.setHorizontalTextPosition(SwingConstants.LEFT);
container.add(showlb1);
container.add(showlb2);
mainJFrame.setVisible(true);
}
publicvoidactionPerformed(ActionEvente){//事件发生时的处理操作
//提取文本框内容并显示在showlb1、showlb2中
showlb1.setText("整数为"+text1.getText());
showlb2.setText("浮点数为"+text2.getText());
}
}
java的事件模型知识点扩展:
事件模型
首先你得有个事主儿(事件源),啥时候做个事通知我下,我好处理,OK,在我这注个册吧,有事告你声,你好处理,事情来了,调用准备好的方法XX。。。
事件源---发生事件的对象
事件---发生了什么事eg:MouseEventKeyEventactionEvent等等
监听器--监听某component的某个事件一般有实现某种监听器的类的对象来监听一般把事件源对象的具体信息封装到e(监听器的方法参数里XXEvente)
注册--addXXListener(XXListener)component的addXXListener(实现XX监听器的对象)监听谁,登个记,注意这个事组件的addXXListener方法
回调方法--预先准备好了,如果你xx,我就调用之前准备好的事件处理程序XX
到此这篇关于java事件处理模型知识点总结的文章就介绍到这了,更多相关java事件处理模型是什么内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!