时钟
来源:互联网 发布:英雄传奇挂机软件 编辑:程序博客网 时间:2024/06/03 11:16
import java.awt.*;import java.awt.event.*;import javax.swing.*;import java.lang.*;import java.util.*;public class RunableTest extends JFrame implements Runnable { JPanel pnlMain;//定义变量 JLabel lblTime;//定义变量 Thread thdTime;//定义变量 Date dateDisplay;//定义变量 GregorianCalendar gCalendar;//定义变量 String sDate,sTime; //定义变量 public RunableTest(){//定义 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() while(thdTime!=null){ displayTime(); } } private 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) { // TODO 自动生成的方法存根 RunableTest rd=new RunableTest(); }}
运行结果
分析:本程序创建名称为“Runnable接口线程演示”的图行用户界面,线程的概念来源于计算机操作系统中进程的概念。进程也指程序的动态执行过程,是一个程序关于某个数据集和运算的执行。线程也称为轻量级进程,与进程类似,线程是单个顺序流,它有自己的运行栈和程序计数器。