Java实现动态显示当前时间的简单示例

需积分: 30 5 下载量 156 浏览量 更新于2024-09-16 收藏 2KB TXT 举报
"在Java编程中,要显示当前时间,可以通过创建一个简单的图形用户界面(GUI)应用来实现。本文档介绍了如何使用`JFrame`,`Calendar`类和`Thread`类来动态更新时间。首先,我们导入必要的包,如`java.awt`, `javax.swing`, `java.util`,然后定义一个名为`TestTime`的类,该类包含了主方法`main`,启动应用程序。 在`TestTime`类中,创建了一个子类`TimeFrame`,它继承自`JFrame`,用于构建窗口。窗口设置了标题为“时间”,大小为300x300像素,并设置关闭时的行为。窗口初始化时,会调用`init`方法,该方法中布局管理器设置为`BorderLayout`,并创建一个`JLabel`对象`lblTime`,用于显示时间。 `init`方法中,创建了一个名为`Runnable`的内部类`ThreadTime`,实现了`Runnable`接口。这个内部类有一个构造函数,接收`JLabel`对象并将其赋值给`lblTime`。`ThreadTime`类的`run`方法是一个无限循环,每秒更新一次时间,并在界面上显示出来。为了实现这一点,它调用了`Thread.sleep(1000)`来暂停线程一秒钟,然后调用`getTime`方法获取当前时间并更新`lblTime`的文本。 `getTime`方法中,创建了一个`GregorianCalendar`实例,这是`Calendar`类的一个子类,专门用于处理格里高利历(即公历)。通过`calender.getTime()`方法获取当前日期和时间,然后格式化为字符串返回。当`run`方法执行时,`getTime`会被周期性地调用,确保时间的实时更新。 总结来说,这个示例展示了如何在Java中使用`JFrame`和`Thread`创建一个简单的计时器,通过`Calendar`类获取当前时间并在界面上持续显示。这不仅可以作为一个基础的时间显示案例,也可以作为其他更复杂时间处理应用的基础。开发者可以根据需要扩展此代码,例如添加日期显示,或者在多线程环境下实现更复杂的计时逻辑。"