.
.
.
TEXT.addMouseListener(this);
.
.
.
.
.public void mousePressed(MouseEvent e) { }.
.
.
.
上面这段代码中其中的addMouseListener()这个方法是从哪里继承过来的?还有那个参数e,Java是如何对其初始化的?
.
.
TEXT.addMouseListener(this);
.
.
.
.
.public void mousePressed(MouseEvent e) { }.
.
.
.
上面这段代码中其中的addMouseListener()这个方法是从哪里继承过来的?还有那个参数e,Java是如何对其初始化的?
只是定义了MouseEvent e一般的不是药
MouseEvent e=new MouseEvent()调用相应的构造函数来进行初始化的吗?
第二个问题,MouseEvent继承自java.awt.event.InputEventMouseEvent 对象被传递给每一个 MouseListener 或 MouseAdapter 对象,这些对象使用组件的 addMouseListener 方法注册,以接收“令人感兴趣”鼠标事件。(MouseAdapter 对象实现 MouseListener 接口。)所有此类侦听器对象都获得包含鼠标事件的 MouseEvent。 MouseEvent 对象还传递给每一个使用组件的 addMouseMotionListener 方法注册接收鼠标移动事件的 MouseMotionListener 或 MouseMotionAdapter 方法。(MouseMotionAdapter 对象实现 MouseMotionListener 接口。)所有此类侦听器对象都获得包含鼠标移动事件的 MouseEvent。
第二个问题,MouseEvent继承自java.awt.event.InputEventMouseEvent 对象被传递给每一个 MouseListener 或 MouseAdapter 对象,这些对象使用组件的 addMouseListener 方法注册,以接收“令人感兴趣”鼠标事件。(MouseAdapter 对象实现 MouseListener 接口。)所有此类侦听器对象都获得包含鼠标事件的 MouseEvent。 MouseEvent 对象还传递给每一个使用组件的 addMouseMotionListener 方法注册接收鼠标移动事件的 MouseMotionListener 或 MouseMotionAdapter 方法。(MouseMotionAdapter 对象实现 MouseMotionListener 接口。)所有此类侦听器对象都获得包含鼠标移动事件的 MouseEvent。
还是理不出头绪他是怎么初始化的,郁闷死我了......................
说下流程或者原理就OK...
jvm源码是C++???
JAVA真的是用C++写的?
我最恨C++了..............
哈哈哈哈
事实上,你所要理解的是public void mousePressed(MouseEvent e) 并非一般的函数。
它不是由你调用的,而是由系统调用的。
如果是一般的函数,比如你自己定义的:
private void foo(int n);
那么你调用的时候就是:
int num=123;
foo(num);
这是对的。
但是,对于函数mousePressed(MouseEvent e)来说,你是怎么调用它的?你根本没有亲自调用过它。
你不可能这样做:
MouseEvent event=new MouseEvent;
mousePressed(event);
因为这个函数是由系统调用的,就是说,当你点击了鼠标左键,系统就会产生一个鼠标事件,然后系统自动
调用mousePressed(MouseEvent e)函数,并且把这个事件转换成一个MouseEvent类型的值传给函数。