时钟

来源:互联网 发布:法院网络拍卖 编辑:程序博客网 时间:2024/05/23 12:03
package a;import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.lang.*;import java.util.*;public class fa extends JFrame implements Runnable{ //创建类RunnableTest继承于类JFrame,并实现Runnable接口   JPanel pnlMain;//自定义变量   JLabel lblTime;   Thread thdTime;   Date dateDisplay;   GregorianCalendar gCalendar;   String sDate,sTime;   public fa(){//定义界面标题  super("Runnable接口线程演示");//定义容器、标签和字体  pnlMain=new JPanel();  lblTime=new JLabel("");  Font ft=new Font("宋体",Font.BOLD,15);  setContentPane(pnlMain);//将组件进行界面布局  pnlMain.setLayout(null);  pnlMain.add(lblTime);  lblTime.setBounds(45,40,350,45);  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(){  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) {fa rd=new fa();}}

运行结果:
这里写图片描述

知识要点:
。线程概念
线程的概念来源于计算机操作系统中进程的概念。线程也称为是轻量级进程,与进程类似,线程是单个顺序流,它有自己独立的进行栈和程序计数器

。类Thread和Runnable接口的概述
多线程是指在一个程序中可以同时进行多个线程。

。创建线程(类Thread、Runnable接口)
线程可以通过继承类Thread或者实现Runnable接口,并重写方法Run()实现