热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

数字时钟Java实训_Java实现动态数字时钟

本文实例为大家共享了Java实现动态数字时钟的详细代码,供大家参考,详细内容如下构建:Clock继承JFrame为运行网页ClockTex

本文实例为大家共享了Java实现动态数字时钟的详细代码,供大家参考,详细内容如下

构建:

Clock继承 JFrame 为运行网页

ClockText 测试类 创建 Clock 对象

运行效果:

20201107221958106637.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();

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持乐购源码。



推荐阅读
  • 一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat ... [详细]
  • 使用Tkinter构建51Ape无损音乐爬虫UI
    本文介绍了如何使用Python的内置模块Tkinter来构建一个简单的用户界面,用于爬取51Ape网站上的无损音乐百度云链接。虽然Tkinter入门相对简单,但在实际开发过程中由于文档不足可能会带来一些不便。 ... [详细]
  • Vue 实现表格分页功能详解
    本文将详细介绍如何在 Vue 中实现表格的分页功能,包括代码示例和具体实现步骤,帮助开发者更好地理解和应用这一技术。 ... [详细]
  • 本文详细介绍了 Spark 中的弹性分布式数据集(RDD)及其常见的操作方法,包括 union、intersection、cartesian、subtract、join、cogroup 等转换操作,以及 count、collect、reduce、take、foreach、first、saveAsTextFile 等行动操作。 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • [转]doc,ppt,xls文件格式转PDF格式http:blog.csdn.netlee353086articledetails7920355确实好用。需要注意的是#import ... [详细]
  • 实验九:使用SharedPreferences存储简单数据
    本实验旨在帮助学生理解和掌握使用SharedPreferences存储和读取简单数据的方法,包括程序参数和用户选项。 ... [详细]
  • 分享一款基于Java开发的经典贪吃蛇游戏实现
    本文介绍了一款使用Java语言开发的经典贪吃蛇游戏的实现。游戏主要由两个核心类组成:`GameFrame` 和 `GamePanel`。`GameFrame` 类负责设置游戏窗口的标题、关闭按钮以及是否允许调整窗口大小,并初始化数据模型以支持绘制操作。`GamePanel` 类则负责管理游戏中的蛇和苹果的逻辑与渲染,确保游戏的流畅运行和良好的用户体验。 ... [详细]
  • PBO(PixelBufferObject),将像素数据存储在显存中。优点:1、快速的像素数据传递,它采用了一种叫DMA(DirectM ... [详细]
  • 本文介绍了 Android 开发中常用的滚动视图组件 ScrollView 和 HorizontalScrollView 的基本用法和注意事项,帮助开发者更好地处理屏幕内容超出显示范围的情况。 ... [详细]
  • MySQL初级篇——字符串、日期时间、流程控制函数的相关应用
    文章目录:1.字符串函数2.日期时间函数2.1获取日期时间2.2日期与时间戳的转换2.3获取年月日、时分秒、星期数、天数等函数2.4时间和秒钟的转换2. ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • Hadoop的文件操作位于包org.apache.hadoop.fs里面,能够进行新建、删除、修改等操作。比较重要的几个类:(1)Configurati ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • 开发技巧:在Interface Builder中实现UIButton文本居中对齐的方法与步骤
    开发技巧:在Interface Builder中实现UIButton文本居中对齐的方法与步骤 ... [详细]
author-avatar
羽星快乐_914_137
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有