java响应事件_Swing中添加事件响应的三种处理方式说明

举例说明事件响应

在Swing中,事件响应是通过监听器对象来处理事件的方式实行的,这种方式被称为事件委托模型.

以JButton举例,它内部有一个名为listenerList的链表,在点击按钮时,会产生一个ActionEvent事件,此后内部会依次调用位于listenerList中的每一个actionListener子类实例的actionPerformed方法,这就是事件响应的过程.

当调用JButton的addActionListener方法时, 外界actionListener子类实例的指针就被放入了listenerList中,当按钮点击事件产生时,这个实例的actionPerformed方法就会被调用,从而按钮的点击事件处理就被委托到了actionListener子类实例中进行处理.

实现ActionListener的三种方式

1.实现一个ActionListener子类,再把按钮的事件响应委托给这个子类的实例处理.这种方式并不常用,我在这里列出是为了教学.

2.让界面类实现ActionListener接口,再把事件响应委托给界面类.这种方式适合于处理一些短小简单或要求内聚的事件响应.

3.用匿名类实现ActionListener接口,再把事件委托给这个匿名类的实例.这种方式是Swing事件处理的主流.

方式一:实现一个ActionListener子类

// 实现了ActionListener接口的类

public class Button3ActionListener implements ActionListener{

public void actionPerformed(ActionEvent e) {

String buttonText=((JButton)e.getSource()).getText();

System.out.println("你按下了" + buttonText);

}

}

// 给按钮三添加事件处理

button3.addActionListener(new Button3ActionListener());

方式二:让界面类实现ActionListener接口

public class MyFrame extends JFrame implements ActionListener{

public MyFrame() {

....

button2.addActionListener(this);

}

/**

* 按钮二的事件响应在此

*/

public void actionPerformed(ActionEvent e) {

if(e.getSource()==button2){

showMsg("你按下了" + button2.getText());

}

}

}

方式三:用匿名类的方式添加事件响应

button1 = new JButton("按钮一");

button1.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

showMsg("你按下了" + button1.getText());

}

});

posted on 2008-03-03 22:49 和风细雨 阅读(3489) 评论(0)  编辑  收藏 所属分类: Swing

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值