首页编程java编程java中监听事件是什么,什么是java侦听器

java中监听事件是什么,什么是java侦听器

编程之家2023-10-13100次浏览

大家好,如果您还对java中监听事件是什么不太了解,没有关系,今天就由本站为大家分享java中监听事件是什么的知识,包括什么是java侦听器的问题都会给大家分析到,还望可以解决大家的问题,下面我们就开始吧!

java中监听事件是什么,什么是java侦听器

java中为什么要设置监听器,有什么用

猪哥解答:

1、private JButton jb=new JButton("按钮");这句话声明了一个按钮,名字叫jb。

2、jb.addActionListener(this);这里给jb那个按钮设置了监听,默认为点击触发,当然你写的这个监听有点怪异~

java中监听事件是什么,什么是java侦听器

3、点击按钮jb触发监听处理方法actionPerformed,在这里可以做你想要的操作,你代码实现的是改变lab这个label标签的内容。

4、至于java中为什么要用监听,这就像银行装监控一样,监视你的一举一动,银行装监控是为了捕捉每个进银行的人的动作,预防危险的发生。

java中做监听同样是为了监视某个客户端动作用的,万一你给我搞破坏怎么办(监听的作用远不止如此),当然也像平时生活中不是所有的地方都要放监控,要不就没法过了,java中也不是所有的地方都要放监听,具体哪里要放监听,不该是在课本里学的,应该根据实际工厂、公司的需求来定。

java中监听事件是什么,什么是java侦听器

什么是java侦听器

1、监听器也叫Listener,是Servlet的监听器,它可以监听客户端的请求、服务端的操作等。通过监听器,可以自动激发一些操作,比如监听在线的用户的数量。当增加一个HttpSession时,就激发sessionCreated(HttpSessionEvent se)方法,这样

就可以给在线人数加1。

2、常用的监听接口有以下几个:

1)ServletContextAttributeListener监听对ServletContext属性的操作,比如增加、删除、修改属性。

2)、ServletContextListener监听ServletContext。当创建ServletContext时,激发contextInitialized(ServletContextEvent sce)方法;当销毁ServletContext时,激发contextDestroyed(ServletContextEvent sce)方法。

HttpSessionListener监听HttpSession的操作。当创建一个Session时,激发session Created(HttpSessionEvent se)方法;当销毁一个Session时,激发sessionDestroyed(HttpSessionEvent se)方法。

4)HttpSessionAttributeListener监听HttpSession中的属性的操作。当在Session增加一个属性时,激发attributeAdded(HttpSessionBindingEvent se)方法;当在Session删除一个属性时,激发attributeRemoved(HttpSessionBindingEvent se)方法;当在Session属性被重新设置时,激发attributeReplaced(HttpSessionBindingEvent se)方法。

3、参考样例example:随服务器启动

<web-app>

<listener>

<listener-class>com.tb.listener.CountStartListener</listener-class>

</listener>

package com.tb.listener;

import javax.servlet.ServletContextEvent;

import javax.servlet.ServletContextListener;

import javax.servlet.http.HttpServlet;

import com.tb.timertask.DoCountTask;

public class CountStartListener extends HttpServlet implements ServletContextListener

{

private static final long serialVersionUID= 1824920962239905170L;

public CountStartListener()

{

// TODO Auto-generated constructor stub

}

public void contextDestroyed(ServletContextEvent arg0)

{

// TODO Auto-generated method stub

}

public void contextInitialized(ServletContextEvent arg0)

{

DoCountTask.dotask();

什么是Java的事件处理机制

JAVA中当事件发生时,他不会进行广播,而是仅仅向关心此事件的对象发送消息。那么他怎么知道谁“关心”此事件呢。

这就要求关心此事件的对象,先行向事件的发出方进行注册,表示我关心此事件,当事件发生时请通知我。

【简单来说】:就是事件的“处理方”向事件的“发出方”先行注册,当事件发生时,事件的“发生方”负责通知事件的“处理方”。

譬如我编写一个窗口,用到了JFrame,我想实现一个功能,当按下Q键时,窗口关闭。

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

import javax.swing.JFrame;

public class TestFrame extends JFrame{

private static final long serialVersionUID= 5671798241966272024L;

public static void main(String[] args){

new TestFrame();

}

public TestFrame(){

setSize(400, 300);

setDefaultCloseOperation(EXIT_ON_CLOSE);

setVisible(true);

addKeyListener(new MyKeyListener());//这句话就是所谓的注册事件。

// MyKeyListener作为事件的处理方,向事件的触发方TestFrame进行注册。

//这句话的意思是说,MyKeyListener对TestFrame说,我对于你的键盘事件感兴趣,如果有键盘事件请告诉我。

//而TestFrame有一个列表保存着MyKeyListener对象的引用。当键盘按下时,他会列表中所有引用,调用KeyPressed方法。

//当键盘松开时还会调用keyReleased方法,但是我们对于键盘松开不太关心,所以下面的类,我们可以只编写KeyPressed方法。

}

private final class MyKeyListener extends KeyAdapter{

@Override

public void keyPressed(KeyEvent e){

if(e.getKeyCode()== KeyEvent.VK_Q){

System.exit(0);

}

}

}

}

java中的事件监听是怎样实现随时监听的,是通过线程吗

不是通过线程实现的,它是通过一种注册--通知机制实现的。在java的设计模式中,有一种模式叫:观察者模式,和这个类似。举个例子,本例子是一个简单的监听当数据发生变化时要做的操作。

1,我们先定义一个接口,可以让多个监听者实现

publicinterfaceIDataListen{

publicvoidupdate(Objectevent,Objectmsg);

}

2,实现一监听者

publicclassDataListenimplementsIDataListen{

@Override

publicvoidupdate(Objectevent,Objectarg){

//TODOAuto-generatedmethodstub

System.out.println("数据发生了变化");

}

}

3,被监听者

publicclassDataManager{

privateList<IDataListen>listenList=newArrayList<>();

publicvoidnotifyListen(Objectevent,Objectmsg){

for(IDataListendataListen:listenList){

dataListen.update(null,null);

}

}

publicvoidaddListen(IDataListendataListen){

listenList.add(dataListen);

}

publicvoidupdateData(Objectmsg){

this.notifyListen(null,msg);

}

publicstaticvoidmain(String[]args){

DataManagerdataManager=newDataManager();

IDataListendataListen1=newDataListen();

IDataListendataListen2=newDataListen();

dataManager.addListen(dataListen1);

dataManager.addListen(dataListen2);

dataManager.updateData("aaa");

}

}

main方法里面是监听的应用。这样就可以监听DataManager中的updateData行为了,当有数据发生变化时,就可以即时被监听者收到。

好了,关于java中监听事件是什么和什么是java侦听器的问题到这里结束啦,希望可以解决您的问题哈!

宾得相机是哪个国家的(宾得是哪个国家的产品)java503错误是什么 java发送邮件时出现的错误,端口什么的都开了