「java自身监听」java事件监听

博主:adminadmin 2022-11-30 04:35:05 57

本篇文章给大家谈谈java自身监听,以及java事件监听对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

java事件监听问题,求大神

这个比较复杂,Java本身是做不了键盘的全局监听的(就是在失去焦点的情况下监听键盘),javaGUI中的鼠标,键盘监听器都是在组件获得焦点时才会触发的!所以用单纯的Java做全局监听是做不了的,不过可以使用调用jni的方式实现!有一个开源项目正是封装了jni的复杂麻烦的调用操作,具体的请看这里

java图形编程中有哪些常用的监听

在此列举四种方法:

自身类实现ActionListener接口,作为事件监听器

通过匿名类处理

通过内部类处理

通过外部类处理

java 自定义事件的触发及监听

JAVA事件响应机制

1,先自定义一个事件

public class MyEvent extends java.util.EventObject{

public MyEvent(Object source)

{

super(source);

}

}

2,再自定义一个监听器

public class MyListener implements java.util.EventListener{

//这里是当事件发生后的响应过程

public void EventActivated(MyEvent me)

{

System.out.println("事件已经被触发");

}

}

3,以下这个类为触发事件的事件源

public class MyObject {

private Vector vectorListeners=new Vector();

public synchronized void addMyListener(MyListener ml)

{

vectorListeners.addElement(ml);

}

public synchronized void removeMyListener(MyListener ml)

{

vectorListeners.removeElement(ml);

}

protected void activateMyEvent()

{

Vector tempVector=null;

MyEvent e=new MyEvent(this);

synchronized(this)

{

tempVector=(Vector)vectorListeners.clone();

for(int i=0;itempVector.size();i++)

{

MyListener ml=(MyListener)tempVector.elementAt(i);

ml.EventActivated(e);

}

}

}

//定义一个公用方法用于触发事件

public void test()

{

activateMyEvent();

}

}

4,测试类

public class Test {

public static void main(String[] args)

{

MyObject mo=new MyObject();

//注册该事件

mo.addMyListener(new MyListener());

//触发该事件

mo.test();

}

}

java自身监听的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java事件监听、java自身监听的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-30,除非注明,否则均为首码项目网原创文章,转载请注明出处。