<CoreJava> 6.3 接口与回调

6.2 对象克隆,这节的内容实际开发中很少使用,所以略过。之后遇到相应的实例在去学习。

6.3 接口与回调
回调相当于一个监听器,特定事件或时间采取相应的动作。
不做过多解释,直接进入实例。

源代码:例6-3,程序给出了一个定时器和监听器的操作行为。定时器启动后弹出一个对话框,点击OK来终止程序。程序运行每隔3秒显示一次当前时间。
注意:程序出了导入javax.swing.*和java.util.*外,通过类名导入javax.swing.Timer。这样消除了javax.swing.Timer与java.util.Timer之间的二义性。这里的java.util.Timer是一个与本例无关的类,它主要用于调度后台任务。

TimerTest.java:
  1. package com.vincent.corejava.timertest;  
  2.   
  3. import java.awt.event.*;  
  4. import javax.swing.*;  
  5. import javax.swing.Timer;  
  6.   
  7. public class TimerTest {  
  8.     public static void main(String[] args) {  
  9.         ActionListener listener = new TimerPrinter();  
  10.           
  11.         Timer t = new Timer(3000, listener);  
  12.         t.start();  
  13.           
  14.         JOptionPane.showMessageDialog(null"Quit program?");  
  15.         System.exit(0);  
  16.     }  
  17.   
  18. }  

TimerPrinter.java:
  1. package com.vincent.corejava.timertest;  
  2.   
  3. import java.awt.*;  
  4. import java.awt.event.*;  
  5. import java.util.*;  
  6.   
  7.  class TimerPrinter implements ActionListener {  
  8.   
  9.     @Override  
  10.     public void actionPerformed(ActionEvent e) {  
  11.         Date now = new Date();  
  12.         System.out.println("at the tone, the time is " + now);  
  13.         Toolkit.getDefaultToolkit().beep();  
  14.           
  15.     }  
  16.   
  17. }  


运行结果:
posted @ 2013-02-28 18:57  vincent_hv  阅读(191)  评论(0编辑  收藏  举报