最近有时间,就整理整理自己大二时做过作业(教师信息管理系统,已实现登录注册增删改查导入导出模糊查询统计图展示等功能)~ 该作业的码云链接:https://gitee.com/sarah0429/teacherManagement.git
话不多说,这里讲如何实现JLable实时更新当前系统时间,直接进入正题。
//这里需要继承JFrame并实现Runnable接口,可以理解为定制的过程。其中继承JFrame
class MyTime extends JFrame implements Runnable {
/**
*
*/
private static final long serialVersionUID = 1L;
JLabel MyJLabel = new JLabel();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒");
//构造函数:当new一个对象的时候,调用构造函数完成对象的初始化。
//效果:当我们new这个定制的MyTime时,会给我们创建一个JLabel,并赋予一些属性。
public MyTime() {
MyJLabel = new JLabel(sdf.format(new Date()));
//赋予JLabel一些属性值。
MyJLabel.setForeground(Color.DARK_GRAY);
MyJLabel.setFont(new Font("幼圆", Font.PLAIN, 12));
MyJLabel.setBounds(233, 36, 250, 15);
//将该JLabel add进总JFrame中
teacherHomepageFrame.getContentPane().add(MyJLabel);
}
//实现Runnable接口,重写其中的run方法,创建线程。其中run()方法的方法体是线程执行体。
@Override
public void run() {
// TODO Auto-generated method stub
while (true) {
try {
Thread.sleep(100);//Thread.Sleep()方法用于将当前线程休眠一定时间,单位为毫秒。这里为每100毫秒休眠一次线程。
MyJLabel.setText(sdf.format(new Date()));//把当前的系统时间赋予到我们自定义的JLabel中
} catch (InterruptedException e) {
e.printStackTrace();//抛出异常
}
}
}
}
接着在主JFrame中调用该定制JLabel即可
MyTime t = new MyTime();
new Thread(t).start();//启动线程
效果图