java事件监听器

   一、JAVA事件 在Java开发中,对于事件的处理非常重要,比如响应键盘的输入、鼠标的点击、窗口的移动等等都要涉及到Java事件的应用。 Java事件由事件类和监听接口组成,自定义一个事件前,必须提供一个事件的监听接口以及一个事件类JAVA。比如,如果你定义了一个按钮,当你点击这个按钮时,则会画一个圆,那么画圆这个事件就需要一个事件监听器来实现。许多事件监听接口系统都给定义好了,当我们用的时候直接调用就好。

二、什么是JAVA事件监听器 Java事件监听器即一组动作接口。 如ActionListener 继承的接口就是EventListener以实现方法:

public interface ActionListener extends EventListener {

/** * Invoked when an action occurs. */

public void actionPerformed(ActionEvent e);

}

三、监听器的实用 让DRAW按钮实现画圆功能

package Sample0327;

import java.awt.Color;
import java.awt.FlowLayout;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;

public class Border extends JFrame {
	private Color color=Color.cyan;
	private String str="Color";

	/**
	 * @param args
	 */
	public static void main(String[] args) {
     Border bd=new Border();
     bd.initUI();
	}
public void initUI(){
	this.setSize(800, 800);
	this.setDefaultCloseOperation(3);
	this.setBackground(Color.black);
	this.setVisible(true);
	FlowLayout fl = new FlowLayout();
	this.setLayout(fl);
	JButton jb=new JButton("Draw");
	this.add(jb);

       //获得画布        
        Graphics g=this.getGraphics();
       //将Point传入
	Point p=new Point(g);
        //添加监听器
	this.addMouseListener(p);
	
}

}
Point类
package Sample0327;

import java.awt.Graphics;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;

public class Point implements MouseListener{
	private int x1,x2,y1,y2,x3,y3;
	//用构造函数将g传入
	private Graphics g;
public Point(Graphics g){
	this.g=g;
}
	

	@Override
	public void mousePressed(MouseEvent e) {
		x1=e.getX()/2;
		y1=e.getY()/2;
		
	}

	@Override
	public void mouseReleased(MouseEvent e) {
		
	                                                                                                                                   g.drawOval(x1,y1,300,300);}

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

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

}
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值