java中采用事件委托模型实现对事件的监听正确吗

Python08

java中采用事件委托模型实现对事件的监听正确吗,第1张

正确。

java委托事件模型的使用首先由事件源发起特定事件,并将事件发送给一个或多个事件监控器。其次监控器在此过程中一直处于等待状态,直到接收到事件,然后处理事件并返回。

事件委托模型是利用冒泡的原理,把本应该添加到某个元素上的事件委托给他的父级,从而减少DOM交互达到网页优化。

1.第一个你只是陈述了一些东西,你想问什么?不过是哪个,我不太理解keyTeyped最先激发这句话,因为应该是先产生pressed事件,然后typed,然后released

2.getkeycode的话大小写的确是一样的,但是KeyEvent里面方法啊,常数啊很多,我记得应该是可以shift是否按下的

3.第二种写法当然是要创建FrameDemo,因为processWindowEvent是FrameDemo的方法,而不是jframe的方法,你新建一个jframe实例,按键的时候是不会调用你写的processWindowEvent方法的

----------------------------------------------------------

因为对于 KEY_TYPED 事件,该 keyCode 为 VK_UNDEFINED。这是api上的说法。但是你说的那个因果关系我也不明白。。

谢谢 拿分 走人1.第一个你只是陈述了一些东西,你想问什么?不过是哪个,我不太理解keyTeyped最先激发这句话,因为应该是先产生pressed事件,然后typed,然后released

2.getkeycode的话大小写的确是一样的,但是KeyEvent里面方法啊,常数啊很多,我记得应该是可以shift是否按下的

3.第二种写法当然是要创建FrameDemo,因为processWindowEvent是FrameDemo的方法,而不是jframe的方法,你新建一个jframe实例,按键的时候是不会调用你写的processWindowEvent方法的

----------------------------------------------------------

因为对于 KEY_TYPED 事件,该 keyCode 为 VK_UNDEFINED。这是api上的说法。但是你说的那个因果关系我也不明白。。

1.第一个你只是陈述了一些东西,你想问什么?不过是哪个,我不太理解keyTeyped最先激发这句话,因为应该是先产生pressed事件,然后typed,然后released

2.getkeycode的话大小写的确是一样的,但是KeyEvent里面方法啊,常数啊很多,我记得应该是可以shift是否按下的

3.第二种写法当然是要创建FrameDemo,因为processWindowEvent是FrameDemo的方法,而不是jframe的方法,你新建一个jframe实例,按键的时候是不会调用你写的processWindowEvent方法的

----------------------------------------------------------

因为对于 KEY_TYPED 事件,该 keyCode 为 VK_UNDEFINED。这是api上的说法。但是你说的那个因果关系我也不明白。。

public class HandleEventextends JFrame{ //HandleEvent 继承JFrame

public HandleEvent(){

add(panel)//JFrame中包含panel ,panel中包含jbtOK

OKListenerClasslistener1 = new OKListenerClass()//实例化监听器listener1

CanelListenerClasslistener2 = new CanelListenerClass()

jbtOK.addActionListener(listener1) //在jbtOK中添加监听器listener1

jbtCancel.addActionListener(listener2)

}

class OKListenerClass implementsActionListener{//OKListenerClass 实例ActionListener

public voidactionPerformed(ActionEvent e){

System.out.println("OK buttonclicked")

}

}

class CanelListenerClassimplements ActionListener{

public voidactionPerformed(ActionEvent e){

System.out.println("Canel buttonclicked")

}

}