5 数字时钟 - Java

文章介绍了如何在JavaSwing环境中利用线程或者Timer类创建一个数字时钟标签组件。通过while循环或Timer定时器每秒更新日期和时间,并显示在JLabel中,同时讨论了两种方法的精度差异和适用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目:

使用线程对象或Timer定时器制作数字时钟标签组件,显示当前日期和时间,每秒刷新,将该标签添加到框架窗口。

解答:

1. while方法:

通过使用while循环不停获取当前时间并显示,从而达到每秒刷新效果。

Timer类:

(好巧不巧和Timer定时器起了一样的名字...)

package Experiment_5.Method_1;

import javax.swing.*;
import java.awt.*;
import java.text.SimpleDateFormat;
import java.util.Date;

//新建Timer类实现Runnable接口,从而完成多线程机制
public class Timer implements Runnable {

    //重写Runnable接口中的run方法
    @Override
    public void run() {
        //使用线程对象或Timer定时器制作数字时钟标签组件,显示当前日期和时间,每秒刷新,将该标签添加到框架窗口。
        System.out.println("Timer thread starts!"); //提示Timer线程开始运行
        JFrame frame = new JFrame("Time - _荼锦_");   //创建一个JFrame类顶级容器
        frame.setVisible(true); //显示窗口
        frame.setSize(960, 750);    //设置窗口大小

        final JLabel label = new JLabel("", SwingConstants.CENTER); //创建原子组件Label,并将其数据放置在中间
        label.setForeground(Color.PINK);    //设置字体颜色为粉色
        Font font = new Font("宋体", Font.PLAIN, 100);//创建1个字体实例font,字体为宋体,大小为100px
        label.setFont(font);//设置JLabel的字体为font

        Container contentPane = frame.getContentPane();
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值