java显示多个地区时钟_Java实现的动态数字时钟功能示例【显示世界时间】

本文实例讲述了java实现的动态数字时钟功能。分享给大家供大家参考,具体如下:

构建:

1. clock继承 jframe 为运行页面

2. clocktext 测试类 创建 clock 对象

运行效果:

9c33609bfdb9202e4dcb1226e5bfd8f9.gif

具体实现:

一、clock类

四个jpnal 三个放时间 最后一个放日期

放时间的三个jpnal 分别加入 地点 时间 按钮

最后一个按钮添加日期

具体实现如下:

public class clock extends jframe {

private jpanel jpanelbeijing;

private jpanel jpanelnewyork;

private jpanel jpanellondom;

private jpanel jpaneldate;

private boolean beijingthreadflag_isstart = true;

private boolean newyorkthreadflag_isstart = true;

private boolean londonthreadflag_isstart = true;

public clock() {

// todo auto-generated constructor stub

jpanelbeijing = new jpanel();

jpanelnewyork = new jpanel();

jpanellondom = new jpanel();

jpaneldate = new jpanel();

inirelations();

inilayout();

jframeclick();

setvisible(true);

setsize(480, 225);

setlocationrelativeto(null);

}

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("楷体", 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("宋体", font.bold, 30));

timer timeaction = new timer(1000, new actionlistener() {

public void actionperformed(actionevent e) {

long timemillis = system.currenttimemillis();

// 转换日期显示格式

simpledateformat time = new simpledateformat("hh:mm:ss ");

jlabeltime.settext(time.format(new date(timemillis)));

}

});

timeaction.start();

jpanelbeijing.add(jlabeltime);

button button = new button("北京暂停");

button.addactionlistener(new actionlistener() {

@override

public void actionperformed(actionevent e) {

// todo auto-generated method stub

if (beijingthreadflag_isstart) {

timeaction.stop();

button.setlabel("北京继续");

beijingthreadflag_isstart = false;

} else {

timeaction.start();

button.setlabel("北京暂停");

beijingthreadflag_isstart = true ;

}

}

});

jpanelbeijing.add(button);

}

private void setcenterpanel() {

// add time for southpanel

jlabel jlabeltime = new jlabel("加载中.");

jlabeltime.setfont(new font("宋体", font.bold, 30));

timer timeaction = new timer(1000, new actionlistener() {

public void actionperformed(actionevent e) {

long timemillis = system.currenttimemillis();

// 转换日期显示格式

simpledateformat time = new simpledateformat("hh:mm:ss ");

jlabeltime.settext(time.format(new date(timemillis - 13 * 60 * 60 * 1000)));

}

});

timeaction.start();

jpanelnewyork.add(jlabeltime);

button button = new button("纽约暂停");

button.addactionlistener(new actionlistener() {

@override

public void actionperformed(actionevent e) {

// todo auto-generated method stub

if (newyorkthreadflag_isstart) {

timeaction.stop();

button.setlabel("纽约继续");

newyorkthreadflag_isstart = false;

} else {

timeaction.start();

button.setlabel("纽约暂停");

newyorkthreadflag_isstart = true ;

}

}

});

jpanelnewyork.add(button);

}

private void seteastpanel() {

// add time for southpanel

// jlabel jlabeldate = new jlabel("date");

jlabel jlabeltime = new jlabel("加载中.");

jlabeltime.setfont(new font("宋体", font.bold, 30));

timer timeaction = new timer(1000, new actionlistener() {

public void actionperformed(actionevent e) {

long timemillis = system.currenttimemillis();

// simpledateformat date = new simpledateformat("yyyy 年 mm 月 dd

// 日 ");

// jlabeldate.settext(" 当前日期: " + date.format(new

// date(timemillis)));

simpledateformat time = new simpledateformat("hh:mm:ss ");

jlabeltime.settext(time.format(new time(timemillis - 8 * 60 * 60 * 1000)));

}

});

timeaction.start();

jpanellondom.add(jlabeltime);

button button = new button("伦敦暂停");

button.addactionlistener(new actionlistener() {

@override

public void actionperformed(actionevent e) {

// todo auto-generated method stub

if (londonthreadflag_isstart) {

timeaction.stop();

button.setlabel("伦敦继续");

londonthreadflag_isstart = false;

} else {

timeaction.start();

button.setlabel("伦敦暂停");

londonthreadflag_isstart = true ;

}

}

});

jpanellondom.add(button);

// jpanellondom.add(jlabeldate);

}

private void setdatepanel() {

// add time for southpanel

jlabel jlabeldate = new jlabel("加载中.");

timer timeaction = new timer(1000, new actionlistener() {

public void actionperformed(actionevent e) {

long timemillis = system.currenttimemillis();

simpledateformat date = new simpledateformat("yyyy 年 mm 月 dd 日 ");

jlabeldate.settext(" 当前日期: " + date.format(new date(timemillis)));

}

});

timeaction.start();

jpaneldate.add(jlabeldate);

}

private void jframeclick(){

setdefaultcloseoperation(jframe.do_nothing_on_close);//设置不默认关闭

addwindowlistener(new windowlistener() {

@override

public void windowopened(windowevent e) {

// todo auto-generated method stub

}

@override

public void windowiconified(windowevent e) {

// todo auto-generated method stub

}

@override

public void windowdeiconified(windowevent e) {

// todo auto-generated method stub

}

@override

public void windowdeactivated(windowevent e) {

// todo auto-generated method stub

}

@override

public void windowclosing(windowevent e) {

// todo auto-generated method stub

int x = joptionpane.showconfirmdialog(null, "确认退出么?", "友情提示", joptionpane.ok_cancel_option,

joptionpane.warning_message);

if (x == 0) {

system.exit(0);

}

}

@override

public void windowclosed(windowevent e) {

// todo auto-generated method stub

}

@override

public void windowactivated(windowevent e) {

// todo auto-generated method stub

}

});

}

}

二、创建clocktext类用于测试

public class clocktext{

public static void main(string[] args) {

new clock();

}

}

ps:这里再为大家推荐几款时间及日期相关工具供大家参考使用:

在线世界各地时间查询:

unix时间戳(timestamp)转换工具:

在线日期/天数计算器:

希望本文所述对大家java程序设计有所帮助。

希望与广大网友互动??

点此进行留言吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值