package wei;
import java.io.*;
import java.awt.Font;
import java.awt.event.*;
import javax.swing.*;
import java.lang.*;
import java.util.*;
public class Po extends JFrame implements Runnable{ /**
*
*/
private static final long serialVersionUID = 1L;
//创建类RunnableTest继承于类JFrame,并实现Runnable接口
JPanel pnlMain; //自定义变量
JLabel lblTime;
Thread thdTime;
Date dateDisplay;
GregorianCalendar gCalendar;
String sDate,sTime;
public Po(){ //定义界面标题
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) {
Po rd=new Po();
}
}
知识点:线程;
类Thread和Runnable接口;
创建线程;
心得:理解线程的概念以及应用。