首页编程java编程javaevent是什么 Java 中 MouseEvent e中的e指的是什么

javaevent是什么 Java 中 MouseEvent e中的e指的是什么

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

大家好,感谢邀请,今天来为大家分享一下javaevent是什么的问题,以及和Java 中 MouseEvent e中的e指的是什么的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!

javaevent是什么 Java 中 MouseEvent e中的e指的是什么

什么是Java的事件处理机制

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

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

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

javaevent是什么 Java 中 MouseEvent e中的e指的是什么

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

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

javaevent是什么 Java 中 MouseEvent e中的e指的是什么

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);

}

}

}

}

import java.awt.event.ActionEvent;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import javax.swing.JButton;

import javax.swing.JFrame;//上面的都是导入相应的包

public class Frame1 extends JFrame{//继承JFrame窗口

private static final long serialVersionUID= 1L;//定义静态常量

public static void main(String args[]){//主方法

try{//捕捉异常

Frame1 frame= new Frame1();//创建容器

frame.setVisible(true);//设置容器为可见

} catch(Exception e){

e.printStackTrace();

}

}

//构造方法

public Frame1(){

super();

getContentPane().setLayout(null);//改变jframe默认的布局

setBounds(100, 100, 300, 300);//设置容器的边界

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置点击'X'时的操作,这里为关闭程序

JButton btn= new JButton();//创建按钮

//为按钮添加监听器(通过匿名类实现)

btn.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e){

new Frame2();

}

});

btn.setText("OpenFrame2");//设置button上显示的内容

btn.setBounds(92, 107, 106, 26);//设置button的大小和位置

getContentPane().add(btn);//向容器中添加按钮

}

}

//自定义容器类

class Frame2 extends JFrame{

private static final long serialVersionUID= 1L;

public Frame2(){

super();

setTitle("Frame2");

setBounds(100, 100, 215, 99);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setVisible(true);

}

}

Java 中 MouseEvent e中的e指的是什么

比如:mouseClicked(MouseEvent e)其中的e是一个标识符,这里表示e为MouseEvent类的一个实例标识,也就是一个MoseEvent类的一个对象,同时也可以说成是MouseEvent的一个句柄。可以通过这个句柄来调用MouseEvent类中的相关属性其方法等。当然,这个e的标识符你是可以自己根据情况定义,如你可以这样写:public void testMouseEvent(MouseEvent _mouseEvent){……}其中_mouseEvent就是上面的那个e了。其中这里的e对象在内在中是存放在栽内在中的,它实际也是一个“指针”。

java的事件处理是什么

打个比方:如果用户用鼠标单击了按钮对象button,则该按钮button就是事件源,而java运行时系统会生成ActionEvent类的对象actionE,该对象中描述了该单击事件发生时的一些信息,然后,事件处理者对象将接收由java运行时系统传递过来的事件对象actionE并进行相应的处理。

由于同一个事件源上可能发生多种事件,因此java采取了授权处理机制,事件源可以把在其自身所有可能发生的事件分别授权给不同的事件处理者来处理。比如在Canvas对象上既可能发生鼠标事件,也可能发生键盘事件,该Canvas对象就可以授权给事件处理者一来处理鼠标事件,同时授权给事件处理者二来处理键盘事件。有时也将事件处理者称为监听器,主要原因也在于监听器时刻监听着事件源上所有发生的事件类型,一旦该事件类型与自己所负责处理的事件类型一致,就马上进行处理。授权模型把事件的处理委托给外部的处理实体进行处理,实现了将事件源和监听器分开的机制。事件处理者(监听器)通常是一个类,该类如果要能够处理某种类型的事件,就必须实现与该事件类型相对的接口。例如例5.9中类ButtonHandler之所以能够处理ActionEvent事件,原因在于它实现了与ActionEvent事件对应的接口ActionListener。每个事件类都有一个与之相对应的接口。将事件源对象和事件处理器(事件监听器)分开。

使用授权处理模型进行事件处理的一般方法归纳如下:

1.对于某种类型的事件XXXEvent,要想接收并处理这类事件,必须定义相应的事件监听器类,该类需要实现与该事件相对应的接口XXXListener;

2.事件源实例化以后,必须进行授权,注册该类事件的监听器,使用addXXXListener(XXXListener)方法来注册监听器。

这是我的一点个人见解,希望对你有帮助,加油。

javaevent是什么的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于Java 中 MouseEvent e中的e指的是什么、javaevent是什么的信息别忘了在本站进行查找哦。

java什么情况下内存溢出?Java在什么情况下会内存溢出java plugin是什么 java(tm) plug-in 2 ssv helper是什么