时钟

时钟

package hong;
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()实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值