// 显示当前时间
//载自《Java程序设计JAVA PROGRAM DESIGN 》James Cohoon等著,主要是学习Timer类和线程
import javax.swing.JFrame;
import java.util.*;
import java.text.*;
import java.awt.*;
public class SimpleClock extends TimerTask {
// 类常量
final static long MILLISECONDS_PER_SECOND = 1000;
// 实例变量
private JFrame window = new JFrame("Clock");
private Timer timer = new Timer();
private String clockFace = "";
// SimpleClock(): 默认构造方法
public SimpleClock() {
// 配置 GUI
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setSize(200, 60);
Container c = window.getContentPane();
c.setBackground(Color.WHITE);
window.setVisible(true);
// 每秒钟开始立即更新GUI
/**
*this表示run()方法,0表示线程首次规划的延迟毫秒数,
*MILLISECONDS_PER_SECOND=1000表示线程运行间隔的毫秒数。
*/
timer.schedule(this, 0, 1*MILLISECONDS_PER_SECOND);
}
// run(): 更新时钟显示
public void run() {
Date time = new Date();
Graphics g = window.getContentPane().getGraphics();
g.setColor(Color.WHITE);
g.drawString(clockFace, 10, 20);
/*****
*clockFace表示当前时间,用drawString()方法显示出来,
*(10,20)表示显示的位置
****/
clockFace = time.toString();
g.setColor(Color.BLUE);
g.drawString(clockFace, 10, 20);
}
// main(): 应用程序入口
public static void main(String[] args) {
SimpleClock clock = new SimpleClock();
}
}
//载自《Java程序设计JAVA PROGRAM DESIGN 》James Cohoon等著,主要是学习Timer类和线程
import javax.swing.JFrame;
import java.util.*;
import java.text.*;
import java.awt.*;
public class SimpleClock extends TimerTask {
// 类常量
final static long MILLISECONDS_PER_SECOND = 1000;
// 实例变量
private JFrame window = new JFrame("Clock");
private Timer timer = new Timer();
private String clockFace = "";
// SimpleClock(): 默认构造方法
public SimpleClock() {
// 配置 GUI
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setSize(200, 60);
Container c = window.getContentPane();
c.setBackground(Color.WHITE);
window.setVisible(true);
// 每秒钟开始立即更新GUI
/**
*this表示run()方法,0表示线程首次规划的延迟毫秒数,
*MILLISECONDS_PER_SECOND=1000表示线程运行间隔的毫秒数。
*/
timer.schedule(this, 0, 1*MILLISECONDS_PER_SECOND);
}
// run(): 更新时钟显示
public void run() {
Date time = new Date();
Graphics g = window.getContentPane().getGraphics();
g.setColor(Color.WHITE);
g.drawString(clockFace, 10, 20);
/*****
*clockFace表示当前时间,用drawString()方法显示出来,
*(10,20)表示显示的位置
****/
clockFace = time.toString();
g.setColor(Color.BLUE);
g.drawString(clockFace, 10, 20);
}
// main(): 应用程序入口
public static void main(String[] args) {
SimpleClock clock = new SimpleClock();
}
}