科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道Java开发中的事件驱动模型实例详解

Java开发中的事件驱动模型实例详解

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文通过实例详细讲解Java中的事件驱动模型并附有各步骤的源代码,供大家参考!

作者:陈宇 来源:天极网 2007年11月18日

关键字:

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共2页)

JButton组件初始化代码片断:

private void initialize() {
frame = new JFrame();
frame.getContentPane ().setLayout (null);
frame.setBounds (100, 100, 247, 165);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle ("事件驱动程序");
//btnPress就是这次点击操作中的事件源
btnPress = new JButton();
btnPress.setText ("Press");
btnPress.setName ("Press");
btnPress.setBounds (63, 98, 99, 23);

//向事件源btnPress植入侦听器对象ButtonEventHandler
btnPress.addActionListener (new ButtonEventHandler(this));
frame.getContentPane ().add(btnPress);
frame.getContentPane ().add(txtMessage);
}

侦听器创建的代码片断:

//侦听器对象ButtonEventHandler(用来侦听按钮的点击操作)
class ButtonEventHandler implements ActionListener {
//窗体对象
private EventDemo form = null;
//通过构造体传入窗体对象,
//作用在于让侦听器对象明白事件源处于
//哪个窗体容器中
public ButtonEventHandler(EventDemo form) {
this.form = form;
}

//委托方法
public void actionPerformed(ActionEvent e) {
//该方法将会把事件的处理权交给窗体容器类的
//btnPress_Click方法处理。
this.form.btnPress_Click(e);
}
}

真正的事件处理代码片断:

/**
* 按钮btnPress的事件处理方法。
*
* @param e 事件参数
*/
private void btnPress_Click(ActionEvent e) {      

String message = "你点击的按钮名叫:"
+ ((JButton) e.getSource()).getName();      

this.txtMessage.setText(message);
}

代码工作原理:

JButton组件初始化代码片断已经明确阐述了按钮被创建后放置于窗体上,关键在于本代码片断的以下语句:

btnPress.addActionListener(new ButtonEventHandler(this));

该语句就是向事件源植入了侦听器对象ButtonEventHandler,该类实现了ActionListener结构,因此JButton类的对象btnPress这个时候已经具有了处理用户点击按钮的能力了。

当用户点击btnPress这个按钮的时候,按钮对象会直接把这次点击感觉传递给ButtonEventHandler的actionPerformed方法处理,为养成较好的编程习惯,我们并不建议你直接在该委托方法中编写代码,而是需要将该事件处理再次转发给窗体中的某个方法来处理,这个方法的命名也必须是有规则的,就是事件源名+下划线+事件名(btnPress_Click),并且该方法必须具有事件参数ActionEvent,因为在该对象中明确指明了,哪个按钮受到了点击了。e.getSource()方法返回了被点击按钮的对象,由于这次被点击的是一个按钮,因此我们需要使用JButton对e.getSource()的返回值进行强转,随后通过getName()方法得到这个按钮的名字。至此,整个点击事件处理完了。

查看本文来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章