java实现一个简单的电子时间

java实现一个简单的电子时间,在这个小项目里用到的知识点有,java中的swing和多线程,实现原理很简单,通过每隔1秒钟获取当前时间,并把获取到的当前时间显示到JLabel里面即可。小项目很简单,高手别吐槽。菜鸟不妨也来学习一下,毕竟老是学基础很枯燥,搞点现阶段所能及的小项目来提高学习的兴趣和动力,现学现卖,哈哈。。。马上奉献代码。

import java.awt.Font;
import java.text.SimpleDateFormat;
import java.util.Date;


import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;


public class TimeDemo extends JFrame {
private static Thread t;
private static JLabel jlabelTime; 

public static void main(String[] args) {
TimeDemo timeDemo=new TimeDemo();

}



/*构造函数*/
     public TimeDemo() {
setBounds(100, 200, 300, 150);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false); //不许窗口调大小
setTitle("数字时钟");
setVisible(true);
getContentPane().setLayout(null);
jlabelTime=new JLabel();
jlabelTime.setFont(new Font("宋体", 1, 20));
jlabelTime.setSize(280, 50);
jlabelTime.setHorizontalAlignment(SwingConstants.CENTER);
jlabelTime.setVerticalAlignment(SwingConstants.CENTER);
t=new Thread(new Runnable() {

@Override
public void run() {
while (true) {
jlabelTime.setText(getDateAndTime());
try {

t.sleep(1000); //每1秒更新一次

} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}
});

t.start();
getContentPane().add(jlabelTime);
}
     
     /*获取当前时间*/
     private String getDateAndTime(){
  Date date = new Date(); //获取当前时间的毫秒数
  /*设置日期时间格式*/
  SimpleDateFormat from = new SimpleDateFormat("HH:mm:ss");
  String times = from.format(date); //转成字符串
  return times;
 
  }


}

你可能感兴趣的:(JAVA,swing,thread,多线程,java)