您的位置:

java事件,java事件源是什么

本文目录一览:

java中事件,事件源和事件监听器概念,使用事件监听器惊醒事件处理的过程?

事件:当用户在界面上执行一个操作,例如按下键盘、拖动或者单击鼠标时,都将产生一个事件。Java中事件是用来描述不同类型用户操作的对象,Java中有很多不同类型的事件。例如:单击,双击,右击,拖动,键盘的按下、释放,文本域内容改变等。

事件源:产生事件的组件就是一个事件源。例如,当在一个Button上单击鼠标是,将产生一个ActionEvent类型的事件,而这个Button就是事件源

事件监听器:就是调用事件处理方法的对象。当界面操作事件产生并被发送到产生事件的组件时,该组件将把事件发送给能接受和处理该事件的监听器。

java的事件处理机制是怎样

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

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

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

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

import java.awt.event.KeyAdapter;

import java.awt.event.KeyEvent;

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

}

}

}

}

简述java事件处理机制?

java事件处理机制你必须得明确以下几个概念:

核心:java采用的是事件源——事件监听器模型

1:事件(event):是指一个状态的改变,或者一个活动的发生。例如,简单常见的是单击一个按钮,或者输入一个按键都是一个事件。

2:事件源(event source):能够产生事件的对象称为事件源,如文本框,按钮,下拉列表等。

3:事件监听器(event listener):需要一个对象对事件源进行监听,以便对发生的事件做出处理,该对象就是事件监听器。事件源通过调用相应的方法将某个对象作为自己的监听器。无论应用程序还是小程序都采用这一机制。

例,对于按钮,注册监听器的方法是 addActionListener(监视器);:

4: 事件源获得监听器之后,相应的操作就会导致事件的发生,并通知监听器,监听器就会做出相应的处理。

5:处理事件的接口:监听器负责处理事件源发生的事件。为了处理事件源发生的事件,监听器会自动调用一个方法来处理事件,该方法定义在相应事件的接口中。

java什么是事件?什么是事件源

常见的事件包括 移动鼠标 , 单双击鼠标各个按钮 ,单击按钮 ,在文本字段输入 ,在菜单中选择菜单项 ,在组合框中选择、单选和多选 ,拖动滚动条 ,关闭窗口.........

事件源 与用户进行交互的GUI组件,表示事件来自于哪个组件或对象

比如要对按钮被按下这个事件编写处理程序,按钮就是事件源

java鼠标点击事件怎么做?

java鼠标点击事件的方法如下:

span style="font-family:Verdana;"事件源/span.addMouseListener(new MouseAdapter() {//建立事件处理机制  

   @Override  

   public void mouseClicked(MouseEvent e) {  

       if(e.getButton()==e.BUTTON1){//点击鼠标左键  

           int x=e.getX();  

           int y=e.getY();  

           String str="您点击的是左键,鼠标当前点击位置的坐标是(" + x + "," + y+")";  

           label.setText(str);  

       }else if(e.getButton()==e.BUTTON2){//点击鼠标滑轮  

           int x=e.getX();  

           int y=e.getY();  

           String str="您点击的是滑轮,鼠标当前点击位置的坐标是(" + x + "," + y+")";  

           label.setText(str);   

       }  

       else if(e.getButton()==e.BUTTON3){//点击鼠标右键  

           int x=e.getX();  

           int y=e.getY();  

           String str="您点击的是右键,鼠标当前点击位置的坐标是(" + x + "," + y+")";  

           label.setText(str);       

       }  

   }  

});

e.getButton()返回值分别为NOBUTTON、BUTTON1、BUTTON2、BUTTON3,分别代表着无点击、左击、中间键、右击三种情况。

给Java初学者的建议:

1,不一定要把java学深入。有多少人搞程序是喜欢这个的,搞程序一半是因为钱多,一半是因为晋升公平。

2,初学者学java至少要脱产半年的时间才能算了解了,才适合被人带,因为至少半年的时间,才知道遇到问题如何解决,有的人需要更长的时间。现在有很多人已经有5年左右的经验了,在他们的压制下,java初学者很难有逆袭的机会了。

3,行业环境,现在数据存储,后台打包的方案的创业公司已经有苗头,也就是说,后台开发已经被集中解决,日后会越来越成熟,这就是意味着,java招聘需要有经验的人,也就是说,必须熬几年后才能有突破。

4,java离市场较远,所以呢?java开发人员很难有一个大的突破。

5,程序里面有变量所以解决了一系列类似的问题,所以注定了程序必须提供大批服务时才能有高收益。

java的事件处理是什么?

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

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

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

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

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

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