注册 登录
编程论坛 JAVA论坛

button1.addActionListener(this); 这句话什么意思啊????

bobofei 发布于 2007-10-28 17:55, 19404 次点击
button1.addActionListener(this); 这个是什么意思啊???

特别是这个addActionListener 什么意思呢???
10 回复
#2
netstriker2007-10-28 19:23
   就是把这个button1实例加上一个监听器,这样的话,当鼠标点击了这一个button1的时候就会触发这一个监听器。
#3
csight2007-10-28 21:53
button1.addActionListener(this);
就是把当前的类设成button1的Listener;
那么就可以在当前的类中添加方法以响应button1的点击,比如:
void actionPerformed(ActionEvent e)
{
//响应button1的点击的代码;
}
#4
soita2007-10-29 03:04

如果看了楼上的还不明白的话
你可以直接认为点了这个叫button1的按钮后可以做想做的事情,比如弹格对话框出来

#5
HCL2007-10-29 20:48
哦~可以吧参数设置成this么~我一直都用的是new一个匿名类再实现actionPerformed方法,

或者是实现接口ActionListener来做的;

请问还有其他方法不呢!
#6
HCL2007-10-29 20:50
还有一个疑问就是用了button1.addActionListener(this);
还可以在使用其他多个不同组件时像这样添加监听器么?
#7
soita2007-10-29 21:27

一般的Swing组件都可以添加

#8
狂放不羁2007-10-29 22:02

就是给button加一个监听器,也就是加一个button状态变化的观察者。这是观察者模式的应用。

#9
bobofei2007-10-31 09:17
非常感谢大家,上面的说的很对,一般的Swing类都可以用这个方法,
bt1.addActionListener(this);
bt2.addActionListener(this);


public void actionPerformed(ActionEvent e)



我想再问大家一下,这个是跟上面搭配使用的吗??也就是实现bt1。bt2动作的吗???
那这个actionPerformed(ActionEvent e) 怎么解释呢,有点不明白,是一个标准的用法吗??/还是可以换别的参数或者方法的???
#10
csight2007-10-31 15:33
public void actionPerformed(ActionEvent e)是在ActionListener(接口)中定义的方法,框架都不能动;
而你的那个类(this)应该是有实现了ActionListener这个接口的吧;
所以方法的框架Java都帮你写好了,你只要在这个方法中加进你要实现的代码就可以了,现在lz不用太去深入他的机制,等你学深了之后就会慢慢明白的了;
#11
zyh72002015-06-23 19:21
回复 9楼 bobofei
刚想回复一下的 然后惊奇发现07年的问题了,  不知道前辈看看以前的问题是什么感觉  呵呵呵
1