科技行者

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

知识库

知识库 安全导航

至顶网软件频道初识java事件处理

初识java事件处理

  • 扫一扫
    分享文章到微信

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

在绝大多数的计算机语言中都有事件处理的机制,例如PB中按钮的onClick事件,html中的onLoad等等,它们的存在让编程十分“人性话”,容易理解,在java中也存在着这样的机制。

作者:CMTobby 来源:CSDN 2008年3月19日

关键字: 处理 事件 java

  • 评论
  • 分享微博
  • 分享邮件
在绝大多数的计算机语言中都有事件处理的机制,例如PB中按钮的onClick事件,html中的onLoad等等,它们的存在让编程十分“人性话”,容易理解,在java中也存在着这样的机制,特别实在GUI编程中,更需要用到,java称这种模式为”call back”,翻译成中文不知道怎么翻比较合适,^_^。
因为设计到GUI的事件处理比较复杂,所以下面首先看一个最简单的事件处理机制,让程序每过10秒钟就发出一次蜂鸣的声音。在javascript中,我们使用setTimeout()方法来设置时间间隔和方法就可以了,而且大多数的计算机语言都是直接传的方法。但是,在java中,因为是面向对象的编程,我们传的是对象,通过对象我们可以传递更多有用的信息。如下面的代码所示:
package cn.edu.hust.cm.test;
 
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Date;
import java.awt.Toolkit;
import javax.swing.Timer;
import javax.swing.JOptionPane;
 
public class TimerTest {
       public static void main(String[] args) {
              // TODO Auto-generated method stub
        ActionListener actionListener=new TimerPrinter();
        Timer timer=new Timer(10000,actionListener);
        timer.start();//启动计时器
        JOptionPane.showMessageDialog(null,"停止么,CMTobby?");
        System.exit(0);
       }
 
}
class TimerPrinter implements ActionListener{
       //每过10秒将会发生的事情
       public void actionPerformed(ActionEvent e){
              Date now=new Date();
              System.out.println("Cindyelf,would you be my mm?");
              Toolkit.getDefaultToolkit().beep();
             
       }
}
这个函数的功能就是:每过10秒钟,CMTobby就会向Cindelf说,“做我的mm好么”,知道你点击确定按钮退出程序。有两个地方值得我们注意一下:
1.构在计时器的方式,第二个参数所refer to的对象必须实现ActionListener接口中的抽象方法public void actionPerformed(ActionEvent e);
2.定义事件都是在public void actionPerformed(ActionEvent e)在中,它里面包含了我们要采取的响应动作。
 
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

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

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