题目:
使用线程对象或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();