用java编写时钟 求高人解释下每一行的意思。谢谢!!!
答案:1 悬赏:0 手机版
解决时间 2021-02-23 12:05
- 提问者网友:练爱
- 2021-02-23 09:14
用java编写时钟 求高人解释下每一行的意思。谢谢!!!
最佳答案
- 五星知识达人网友:琴狂剑也妄
- 2021-02-23 10:13
package Clock;//打包语句
import javax.swing.*;//引入此包下的JFrame,JLabel类等
import java.awt.*;//引入此包下的Frame,Label类等
import java.util.*;//引入此包下的Date类
import java.text.*;//引入此包下的SimpleTimeFormat类
class Clock extends Thread {//创建一个线程名为Clock
ClockTest c;//持有表盘的引用
Clock(ClockTest c) {//构造方法
this.c = c;//得到表盘
}
public void run() {
while (true) {//无限循环,即线程每睡一秒后执行一次setText()方法
try {//try语句
Thread.sleep(1000);//睡1000毫秒,即1秒
} catch (InterruptedException e) {//捕获InterruptedException异常
e.printStackTrace();//打印出此异常
}
SimpleDateFormat dateformat = new SimpleDateFormat("hh:mm:ss");//得到一个格式化时间的对象dateformat
String s = dateformat.format(new Date());//dateformat对象将当前系统的时间格式化为hh:mm:ss形式,即十二小时制格式
c.clock.setText(s);//在表盘c上的clock标签内容,设置成当前的时间,1秒刷新一次,即认为时间在“走动”
}
}
}
public class ClockTest extends JFrame {//构造一个显示时钟的模板JFrame,称之为表盘
JLabel clock;//声明一个clock标签
public ClockTest() {//表盘的构造方法名字,与公共类需要保持一样的名字,即本例中public修饰的类ClockTest
super("时钟");//调用JFrame的有参构造方法JFrame("时钟");
Container c = getContentPane();//获得一个容器c,将来装clock标签,
c.add(new JLabel());//此行可认为多余,估计用来放AM或者PM的,但是没有实现此功能
clock = new JLabel();//构造出clock标签
c.add(clock);//容器c装如clock标签
clock.setFont(new Font("宋体", Font.BOLD, 175));//设置clock标签的字体,将来填充表盘
setSize(800,250);//设置表盘的大小,宽800像素,高250像素
setVisible(true);//设置表盘为可见,因为默认JFrame,即表盘是不可见的
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//设置关闭此表盘时程序的动作
}
public static void main(String args[]){//主方法,程序入口
ClockTest ct = new ClockTest();//实例化表盘
new Clock(ct).start();//启动线程,一秒后表盘显示时间
}
}
import javax.swing.*;//引入此包下的JFrame,JLabel类等
import java.awt.*;//引入此包下的Frame,Label类等
import java.util.*;//引入此包下的Date类
import java.text.*;//引入此包下的SimpleTimeFormat类
class Clock extends Thread {//创建一个线程名为Clock
ClockTest c;//持有表盘的引用
Clock(ClockTest c) {//构造方法
this.c = c;//得到表盘
}
public void run() {
while (true) {//无限循环,即线程每睡一秒后执行一次setText()方法
try {//try语句
Thread.sleep(1000);//睡1000毫秒,即1秒
} catch (InterruptedException e) {//捕获InterruptedException异常
e.printStackTrace();//打印出此异常
}
SimpleDateFormat dateformat = new SimpleDateFormat("hh:mm:ss");//得到一个格式化时间的对象dateformat
String s = dateformat.format(new Date());//dateformat对象将当前系统的时间格式化为hh:mm:ss形式,即十二小时制格式
c.clock.setText(s);//在表盘c上的clock标签内容,设置成当前的时间,1秒刷新一次,即认为时间在“走动”
}
}
}
public class ClockTest extends JFrame {//构造一个显示时钟的模板JFrame,称之为表盘
JLabel clock;//声明一个clock标签
public ClockTest() {//表盘的构造方法名字,与公共类需要保持一样的名字,即本例中public修饰的类ClockTest
super("时钟");//调用JFrame的有参构造方法JFrame("时钟");
Container c = getContentPane();//获得一个容器c,将来装clock标签,
c.add(new JLabel());//此行可认为多余,估计用来放AM或者PM的,但是没有实现此功能
clock = new JLabel();//构造出clock标签
c.add(clock);//容器c装如clock标签
clock.setFont(new Font("宋体", Font.BOLD, 175));//设置clock标签的字体,将来填充表盘
setSize(800,250);//设置表盘的大小,宽800像素,高250像素
setVisible(true);//设置表盘为可见,因为默认JFrame,即表盘是不可见的
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);//设置关闭此表盘时程序的动作
}
public static void main(String args[]){//主方法,程序入口
ClockTest ct = new ClockTest();//实例化表盘
new Clock(ct).start();//启动线程,一秒后表盘显示时间
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯