您的位置:首页 > 编程语言 > Java开发

JAVA事件监听机制的实现

2013-07-26 23:52 639 查看
  今天学习了java的事件编程机制,略有体会,先在此记下心得。

  第一,首先明确几个概念。

事件源:一个产生或者触发事件的对象。
事件:承载事件源状态改变时的信息对象。
事件监听器接口:实际上就是一个类,该类实现了某个事件监听器接口。

  具体来说,就是事件源状态发生变化,比如说是发生点击。事件源状态发生变化后要将状态变化通过“事件”这个载体,传递到相应的事件监听接口进行处理(大概是这样理解吧)。因此,为了能够实现事件的监听,有以下几个步骤需要实现。

一个类实现事件监听的步骤:

1、实现相应的接口;
2、把接口的处理方法根据需要重新编写;
3、在事件源注册监听。

  

  很关键一点是一定要记得注册事件,这三个步骤缺一不可!
  以下附上今天的源代码:

/*
* 实现java事件监听机制
*/
package com.listener;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.*;

public class Demo9_5 extends JFrame
{
//定义组件
JButton jb1 ,jb2 ;
MyPanel jp1 ;
public static void main(String[] args)
{
Demo9_5 demo9_5 = new Demo9_5();

}
public Demo9_5()
{
//创建组件
jb1 = new JButton( "黑色");
jb2 = new JButton( "红色");
//添加组件
jp1 = new MyPanel();

this .setLayout( new GridLayout(3,1));       //设置布局样式
this .add(jb1 );
this .add(jp1 );
this .add(jb2 );

//注册监听!
this .addMouseListener(jp1 );

//显示窗体
this .setSize(400,300);
this .setVisible( true);
this .setDefaultCloseOperation(JFrame. EXIT_ON_CLOSE);
}
}

class MyPanel extends JPanel implements MouseListener
{
//画出背景颜色
public void paint(Graphics g)
{
super .paint(g);
//获取当前 mypanel的宽和高
int w,h;
w = this .getWidth();
h = this .getHeight();
g.fillRect(0, 0, w, h);
}

@Override
public void mouseClicked(MouseEvent e)
{
// TODO Auto-generated method stub
System. out .println("鼠标点击了MyPanel" );
}

@Override
public void mouseEntered(MouseEvent e)
{
// TODO Auto-generated method stub

}

@Override
public void mouseExited(MouseEvent e)
{
// TODO Auto-generated method stub

}

@Override
public void mousePressed(MouseEvent e)
{
// TODO Auto-generated method stub

}

@Override
public void mouseReleased(MouseEvent e)
{
// TODO Auto-generated method stub

}
}


  
  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐