时钟

来源:互联网 发布:uml软件建模过程 编辑:程序博客网 时间:2024/05/23 11:26
import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.lang.*;import java.util.*;public class RunnableTest extends JFrame implements Runnable {     //创建类 RunnableTest继承于类JFrame,并实现 Runnable接口。    JPanel pnMain;           //定义变量。    JLabel lblTime;    Thread thdTime;    Date dateDiplay;    GregorianCalendar gCalendar;    String sDate,sTime;    private JPanel pnlMain;    public RunnableTest(){    super("Runable接口线程演示");       //定义界面标题。    pnlMain=new JPanel();           //定义容器、标签和字体。    lblTime=(JLabel) new JLabel("");    Font ft=new Font("宋体",Font.BOLD,15);    setContentPane(pnlMain);         //将组件进行界面布局。    pnlMain.setLayout(null);    pnlMain.add ((Component) lblTime);    lblTime.setBounds(45,49,350,45);    ((Container) lblTime).setFont(ft);    thdTime=new Thread(this);        //定义线程,并启动线程。    thdTime.start();    setSize(400,150);    setVisible(true);    }    public void run(){       //重写方法run(),在方法run()中调用方法displayTime()实现系统日期和时间的显示。        while(thdTime!=null)        {            displayTime();        }    }    public void displayTime(){        Date dateDisplay = new Date();        gCalendar=new GregorianCalendar();      //定义标准日历类GregorianCalendar的对象。        gCalendar.setTime(dateDisplay);        sDate="日期:"+gCalendar.get(Calendar.YEAR)+"年"+(gCalendar.get(Calendar.MONTH)+1)+"月"+gCalendar.get(Calendar.DATE)+"日";   //获得系统当前日期和时间。        sTime="时间:"+gCalendar.get(Calendar.HOUR)+":"+gCalendar.get(Calendar.MINUTE)+":"+gCalendar.get(Calendar.SECOND);        lblTime.setText(sDate+","+sTime);   //在界面中显示日期和时间。    }    public static void main(String[] args) {        // TODO 自动生成的方法存根        RunnableTest rd=new RunnableTest();    }}

结果为:
这里写图片描述

知识点分析:
1.线程的概念:
线程的概念来源于计算机操作系统中进程的概念。
2.类Thread和Runnable接口:
多线程是指在一个程序中可以同时运行多个线程。
3.创建线程:
线程可以通过继承类Thread或者实现Runnable接口,并重写方法run()实现。