21xrx.com
2024-12-27 21:23:59 Friday
登录
文章检索 我的文章 写文章
Java简单时钟代码及详细解释
2023-06-15 09:52:43 深夜i     --     --
Java 时钟 多线程

Java语言在编程领域中有着广泛的应用,其中时钟程序也是很常见的。下面就介绍一下Java简单时钟的代码以及详细解释。

代码实现:


import java.awt.Font;

import java.util.Calendar;

import java.util.GregorianCalendar;

import javax.swing.JFrame;

import javax.swing.JLabel;

public class Clock extends JFrame implements Runnable {

  private static final long serialVersionUID = 1L;

  JLabel clock;

  public Clock() {

    clock = new JLabel();

    clock.setFont(new Font("宋体", Font.PLAIN, 100));

    new Thread(this).start();

    this.add(clock);

    this.setSize(400, 200);

    this.setVisible(true);

    this.setLocationRelativeTo(null);

    this.setDefaultCloseOperation(EXIT_ON_CLOSE);

  }

  public void run() {

    while (true) {

      Calendar time = new GregorianCalendar();

      int hour = time.get(Calendar.HOUR_OF_DAY);

      int min = time.get(Calendar.MINUTE);

      int sec = time.get(Calendar.SECOND);

      String str = String.format("%02d:%02d:%02d", hour, min, sec);

      clock.setText(str);

      try {

        Thread.sleep(1000);

      } catch (InterruptedException e) {

        e.printStackTrace();

      }

    }

  }

  public static void main(String[] args) {

    new Clock();

  }

}

解释:

该程序是在Java Swing框架下实现的。首先,我们导入了需要使用的类:Font(字体类)、Calendar和GregorianCalendar(日期时间类)。接着,定义了一个JFrame窗口并实现了一个Runnable接口,是为了使用多线程。

在Clock()方法中,首先创建了一个新的JLabel标签实例,用于显示时间。接着,将其设置为“宋体”字体、100号字体大小。然后,我们开启了一个新的线程。把该标签添加到窗口中,设置其大小、可见性、位置和关闭操作模式。

在run()方法中,while循环会一直运行,以确保时间能够动态刷新。在循环过程中,使用Calendar类来获取当前的小时、分钟和秒数。然后,使用String类的format()方法来格式化字符串,以便以正确的格式显示时间。最后将其显示在标签中。Thread.sleep(1000)方法使线程休眠一秒钟。

在main()方法中,程序创建了Clock类的对象,程序就开始运行了。

关键词:

Java、时钟、多线程。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复