介绍
小编给大家分享一下Java如何实现动态数字时钟,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获、下面让我们一起去了解一下吧!
<强>构建:强>
时钟继承JFrame为运行页面
ClockText测试类创建时钟对象,
<强>运行效果:强>
<强>具体实现:强>
<强>一、时钟类强>
- <李>
四个JPnal三个放时间最后一个放日期
李> <李>放时间的三个JPnal分别加入地点时间按钮
李> <李>最后一个按钮添加日期
具体实现如下:
public class Clock extends JFrame { ,private JPanel  jPanelBeijing; ,private JPanel  jPanelNewYork; ,private JPanel  jPanelLondom; ,private JPanel  jPanelDate; , ,private boolean BeijingThreadFlag_IsStart =,真的; ,private boolean NewYorkThreadFlag_IsStart =,真的; ,private boolean LondonThreadFlag_IsStart =,真的; , ,public 时钟(),{ ,//TODO Auto-generated  constructor 存根=,,jPanelBeijing  new JPanel ();=,,jPanelNewYork  new JPanel ();=,,jPanelLondom  new JPanel ();=,,jPanelDate  new JPanel (); , ,iniRelations (); ,iniLayout (); ,jFrameClick (); , ,setVisible(真正的); ,setSize (480,, 225); ,setLocationRelativeTo(空); ,} , ,private void  iniLayout (), { ,jPanelBeijing.setLayout (new GridLayout (3,, 1)); ,jPanelNewYork.setLayout (new GridLayout (3,, 1)); ,jPanelLondom.setLayout (new GridLayout (3,, 1)); ,} , ,//关系 ,private void  iniRelations (), { ,this.add (BorderLayout.WEST, jPanelBeijing); ,this.add (BorderLayout.CENTER, jPanelNewYork); ,this.add (BorderLayout.EAST, jPanelLondom); ,this.add (BorderLayout.SOUTH, jPanelDate); ,Font placeFont =, new 字体(“楷体“,,Font.BOLD,, 36); ,JLabel jLabelBeijing =, new JLabel(“北京时间“); ,jLabelBeijing.setFont (placeFont); ,jPanelBeijing.add (jLabelBeijing); ,setWestPanel (); ,JLabel jLabelNewYork =, new JLabel(“纽约时间“); ,jLabelNewYork.setFont (placeFont); ,jPanelNewYork.add (jLabelNewYork); ,setCenterPanel (); ,JLabel jLabelLondon =, new JLabel(“伦敦时间“); ,jLabelLondon.setFont (placeFont); ,jPanelLondom.add (jLabelLondon); ,setEastPanel (); ,setDatePanel (); ,} , ,private void  setWestPanel (), { ,//add time  for SouthPanel ,JLabel jLabelTime =, new JLabel(“加载中!”); ,jLabelTime.setFont (new 字体(“宋体“,,Font.BOLD,, 30)); ,Timer timeAction =, new 计时器(1000年,new ActionListener (), { , public 才能;void  actionPerformed (ActionEvent e), { long 才能;timemillis =, System.currentTimeMillis ();//,才能转换日期显示格式 SimpleDateFormat 才能;time =, new SimpleDateFormat (“HH: mm: ss “); jLabelTime.setText才能(time.format (new 日期(timemillis))); ,,} ,}); ,timeAction.start (); ,jPanelBeijing.add (jLabelTime); , ,Button Button =, new 按钮(“北京暂停“); ,button.addActionListener (new ActionListener (), { , @Override才能 public 才能;void  actionPerformed (ActionEvent e), {//才能,TODO Auto-generated method 存根 if 才能;(BeijingThreadFlag_IsStart), { ,,timeAction.stop (); ,,button.setLabel(“北京继续“); ,,BeijingThreadFlag_IsStart =,假; ,,},{else ,,timeAction.start (); ,,button.setLabel(“北京暂停“); ,,BeijingThreadFlag_IsStart =, true ; ,,} ,,} ,}); ,jPanelBeijing.add(按钮); ,} , ,private void  setCenterPanel (), { ,//add time  for SouthPanel ,JLabel jLabelTime =, new JLabel(“加载中!”); ,jLabelTime.setFont (new 字体(“宋体“,,Font.BOLD,, 30)); ,Timer timeAction =, new 计时器(1000年,new ActionListener (), { , public 才能;void  actionPerformed (ActionEvent e), { long 才能;timemillis =, System.currentTimeMillis ();//,才能转换日期显示格式 SimpleDateFormat 才能;time =, new SimpleDateFormat (“HH: mm: ss “); null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null nullJava如何实现动态数字时钟