事件机制(监听器使用)

1. 像以前写的代码,运行出来只是界面,或结果。而当我们对其作出动作是它没有任何反 应,就像死人一样。。但是有了监听器,我们就可以让它活过来!

1.1在java中,给事件源加监听器的格式是:事件源.add****Listener(监听器对象)。
比如你给按钮加监听器:
    //实例化一个按钮
JButton jb1 = new JButton("发射");
this.add(jb1);
//实例化动作监听器
BuAction ba = new BuAction(pt);
//给按钮加上监听器
jb1.addActionListener(ba);

其中的 BuAction 就是ActionListener抽象类的实现类。必须重写其中的方法,这样当你点击jb1这个按钮的时候就会执行其中的方法:
public class 文件名 implements java.awt.event.ActionListener{   
public void actionPerformed(ActionEvent e){}
}



1.2在事件机制中会常用到不同类中进行传值。而一般是用构造器进行传参!
比如在做画板的时候,需要在窗体类中获取画布之后,再传给监听器类,让其实现画画功能。

//设置窗体可见
this.setVisible(true);

//在窗体可见之后,获取窗体上的画布对象
Graphics g = this.getGraphics();

切记是在窗体可见之后才能获取画布!!!!
ActionListener dl = new DrawListener(g);
//给按钮对象源添加动作监听器方法,绑定事件处理类的对象dl
jb1.addActionListener(dl);


实例化对象带上参数g,再在监听器类中写上构造方法,这样就把参数g传过去了:
//定义全局变量,方便下面好调用
private Graphics g;
/**
* 传入参数g的构造器
* @param g画布
*/
public DrawListener(Graphics g) {
this.g = g;
}

事件机制中参数传递主要是使用构造方法进行传递, 一般传递的都是地址!!!!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值