疯狂java


您现在的位置: 疯狂软件 >> 新闻资讯 >> 正文

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;

  }

  }