java显示多个地区时钟_Java实现的动态数字时钟功能示例【显示世界时间】
本文实例讲述了java实现的动态数字时钟功能。分享给大家供大家参考,具体如下:
构建:
1. clock继承 jframe 为运行页面
2. clocktext 测试类 创建 clock 对象
运行效果:
具体实现:
一、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程序设计有所帮助。
希望与广大网友互动??
点此进行留言吧!
java显示多个地区时钟_Java实现的动态数字时钟功能示例【显示世界时间】相关推荐
- java动态时钟_Java实现的动态数字时钟功能示例【显示世界时间】|chu
本文实例讲述了Java实现的动态数字时钟功能.分享给大家供大家参考,具体如下: 构建: 1. Clock继承 JFrame 为运行页面 2. ClockText 测试类 创建 Clock 对象 运行效 ...
- java多线程世界时钟_Java实现的动态数字时钟功能示例【显示世界时间】
本文实例讲述了Java实现的动态数字时钟功能.分享给大家供大家参考,具体如下: 构建: 1. Clock继承 JFrame 为运行页面 2. ClockText 测试类 创建 Clock 对象 运行效 ...
- java的简单数字时钟_Java实现的简单数字时钟功能示例
本文实例讲述了java实现的简单数字时钟功能.分享给大家供大家参考,具体如下: 应用名称:java数字时钟 用到的知识:java gui编程,线程 开发环境:win8+eclipse+jdk1.8 功 ...
- java实现文件加密与解密_Java实现文件的加密解密功能示例
本文实例讲述了Java实现文件的加密解密功能分享给大家供大家参考,具体如下: package com.copy.encrypt; import java.io.File; import java.io ...
- java如何实现动态时钟_Java实现动态数字时钟
本文实例为大家分享了Java实现动态数字时钟的具体代码,供大家参考,具体内容如下 构建: Clock继承 JFrame 为运行页面 ClockText 测试类 创建 Clock 对象 运行效果: 具体 ...
- java数字时钟_Java实现动态数字时钟
本文实例为大家分享了Java实现动态数字时钟的具体代码,供大家参考,具体内容如下 构建: Clock继承 JFrame 为运行页面 ClockText 测试类 创建 Clock 对象 运行效果: 具体 ...
- java 电子时钟_java多线程编程制作电子时钟
模拟一个电子时钟,它可以在任何时候被启动或者停止,并可以独立的运行. 1.定义一个Clock类.它继承Label类,并实现Runnable接口.这个类中有一个Thread类型的clocker域,以及s ...
- java 文件 加解密_Java实现文件的加密解密功能示例
Java实现文件的加密解密功能示例 发布时间:2020-10-05 22:05:15 来源:脚本之家 阅读:86 作者:FC WORLD!!! 本文实例讲述了Java实现文件的加密解密功能分享给大家供 ...
- 单片机c语言时钟设计,基于单片机的数字时钟C语言设计.pdf
第 2O卷第 6期 北华航天工业学 院学报 Vo1.2O No.6 2010年 l2月 JournalofNorthChinaInstituteofAerospaceEngineering Dec.2 ...
最新文章
- 经典算法书籍推荐以及算法书排行【算法四库全书】
- 每天5分钟玩转python3算法:二分查找法
- Linux下巧妙使用邮件服务器之postfix(认证+web)
- php函数知识点,php入门学习知识点七 PHP函数的基本应用_php基础
- Java描述设计模式(16):代理模式
- cocos2dx[3.2](21)——观察者模式NotificationCenter
- nginx 四种策略
- Rust : ref下的match
- 【SpringBoot_ANNOTATIONS】组件注册 01 @Configuration @Bean
- VS2015一键卸载所有组件工具,彻底卸载干净。
- WeChat for Linux
- 对称密钥算法与非对称密钥算法
- Android studio点击按钮闪退问题
- lisp 获取横断面数据_基于Visual LISP全路线横断面数据自动提取
- css手指代码,CSS3中Animation实现简单的手指点击动画的示例
- u盘中的android文件夹图标不显示,怎么解决u盘图标变成文件夹,手把手教你解决方法...
- 14周 上 购物案列
- 形式语言与自动机 Part.6 图灵机
- 如何清理Linux跟下的垃圾文件
- 2019最新黑客风云VIP 网站攻防安全课程(完整)
热门文章
- python 将MP3格式转换为WAV格式(ffmpeg安装,使用pycharm安装包)
- 成都传智播客php培训课程介绍
- python _字典的使用
- 华为与WorldRemit达成协议:在非洲可以使用手机进行转账
- 天天基金爬虫+策略选基
- 利用EQEP实现编码器的位置与转速测量
- pc usb充电测试软件,快速充电不是谎言?实测PC USB充电功能
- java多线程交替打印_使用Java实现三个线程交替打印0-74
- Win10 家庭版 VMware Workstation与Device Guard不兼容问题
- 复选框、选项按钮、列表方框、下拉式列表的使用与介绍