「java自身监听」java事件监听
本篇文章给大家谈谈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自身监听的信息别忘了在本站进行查找喔。
发布于:2022-11-30,除非注明,否则均为
原创文章,转载请注明出处。