java中监听方法actionPerformed 如何被回调

如题↑知道actionPerformed方法是被JavaAPI回调的,但不知道过程,有研究过的朋友劳烦讲解一下,不要说的很模糊,我也知道是被回调的,但不知道java是怎么... 如题↑
知道actionPerformed 方法是被Java API 回调的,但不知道过程,有研究过的朋友劳烦讲解一下,不要说的很模糊,我也知道是被回调的,但不知道java是怎么用代码回调的,比如说点击jbutton,jbutton的监听器对象实现了ActionListener接口,然后,ActionListener怎么回调actionPerformed 的,
请说明代码里怎么实现的,说理论的免了,书上说的比你说的好多了。
展开
 我来答
daay1986
2009-11-18 · TA获得超过6018个赞
知道大有可为答主
回答量:2208
采纳率:0%
帮助的人:1476万
展开全部
添加监听的控件里有一个EventListenerList,当你添加监听就把这个监听对象加入到这个list中了,然后当用户点击按钮,控件就会把在这个list中的所有监听对象一个一个通知到位,回调actionPerformed 就是通知的方式,告诉各个监听现在有事件发生。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
luhfly
2009-11-17 · TA获得超过341个赞
知道小有建树答主
回答量:695
采纳率:0%
帮助的人:428万
展开全部
jbutton 里有个ActionListener对象的引用,当你点击它时候,系统会处理XXXXX 自动调用 jbutton 的某个方法,当然也会调用ActionListener对象的相应方法,即你自己实现的方法
如:
public interface XXlistener{
void youDo();
}
public class JButton{
private XXlistener xxl;

public void click(){
//这个是系统自动调用的,不关你事;
xxl.youDo();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hanzsim
2009-11-17 · TA获得超过1540个赞
知道小有建树答主
回答量:922
采纳率:0%
帮助的人:1095万
展开全部
这么说吧,JPanel没有ActonEvent事件吧,看我下面的类就可以。
public class MyPanel extends JPanel{
Vector<ActionListener>listeners;
public MyPanel(){
//...
listeners=new Vector<ActionListener>();
}
public void addActionEvent(ActionListener listener){
if(listener!=null){ listeners.add(listener); }
}
public void removeActonListener(ActionListener listener){
if(listener!=null){ listeners.remove(listener); }
}
private void fireActionListener(JComponent component){
ActionEvent e=new ActionEvent(component,ActionEvent.ACTION_PERFORMED,component.getText());
for(ActionListener listener:listeners){
listener.actionPerformed(e);
}
}
//..............
private void myOtherMethod(){
//...............
fireActionEvent(某组件);
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式