javaFX 在窗口的标题栏显示当前时间,1秒更新一次时间
例1:在窗口的标题栏显示当前时间,1秒更新一次时间
1 import java.text.DateFormat;
2 import java.text.SimpleDateFormat;
3 import java.util.Date;
4
5 import javafx.animation.KeyFrame;
6 import javafx.animation.Timeline;
7 import javafx.application.Application;
8 import javafx.event.ActionEvent;
9 import javafx.event.EventHandler;
10 import javafx.geometry.Insets;
11 import javafx.scene.Scene;
12 import javafx.scene.layout.GridPane;
13 import javafx.stage.Stage;
14 import javafx.util.Duration;
15
16 public class Main extends Application {
17
18 public static void main(String[] args) {
19 launch(args);
20 }
21
22 @Override
23 public void start(Stage primaryStage) throws Exception {
24 // Create a pane to hold two players
25 GridPane pane = new GridPane();
26 pane.setStyle("-fx-border-color: green;");
27 pane.setPadding(new Insets(10, 10, 10, 10));
28 pane.setHgap(10);
29 pane.setVgap(10);
30
31 // Date format
32 DateFormat df = new SimpleDateFormat("yyyy.MM.dd hh:mm:ss");
33
34 EventHandler<ActionEvent> eventHandler = e -> {
35 primaryStage.setTitle(df.format(new Date()));
36 System.out.println(df.format(new Date()));
37 };
38
39 Timeline animation = new Timeline(new KeyFrame(Duration.millis(1000), eventHandler));
40 animation.setCycleCount(Timeline.INDEFINITE);
41 animation.play();
42
43 // Create a scene
44 Scene scene = new Scene(pane, 400, 200);
45 primaryStage.setScene(scene);
46 primaryStage.setTitle("Starting");
47 primaryStage.setResizable(false);
48 primaryStage.show();
49 }
50 }
运行效果:
关于lambda表达式:https://www.cnblogs.com/franson-2016/p/5593080.html
例1中的第34~37行的代码是lambda表达式的写法(感觉lambda表达式好难理解)。在这里,其实就是将一个匿名内部类的引用赋给一个变量。
EventHandler<ActionEvent> eventHandler = e -> {
primaryStage.setTitle(df.format(new Date()));
System.out.println(df.format(new Date()));
};
以上代码等同于:
EventHandler<ActionEvent> eventHandler = new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
primaryStage.setTitle(df.format(new Date()));
System.out.println(df.format(new Date()));
}
};
例1中的第34~39行的代码可以改写成:
Timeline animation = new Timeline(new KeyFrame(Duration.millis(1000), new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
primaryStage.setTitle(df.format(new Date()));
System.out.println(df.format(new Date()));
}
}));
javaFX 在窗口的标题栏显示当前时间,1秒更新一次时间的更多相关文章
- QT中关于窗口全屏显示与退出全屏的实现
近期在学习QT时遇到了很多问题这也是其中一个,个人通过在各种书籍和网络上的查阅找到了一些关于这方面的答案,希望能给大家一些帮助. 首先,在QT中对于窗口显示常用的有这么几个方法可以调用: Qt全屏显示 ...
- Qt窗口的标题栏自绘
因个人需要,要修改Qt Widget的标题栏,网上找了大半天,没有得到答案,但发现问的人比较多 所以现将找到的此文分享一下. (原文:http://www.qtsoftware.com/develop ...
- Oracle归档日志所在目录时间不对&&Oracle集群日志时间显示错误
Oracle归档日志所在目录时间不对&&Oracle集群日志时间显示错误 前言 这个问题在18年的时候遇到了,基本不注意并且集群或者数据库运行正常是很难注意到的. 忘记当时怎么发现的了 ...
- DAX/PowerBI系列 - 关于时间系列 - 如何用脚本生成时间维度 (Generate Date Dimension)
跟大家的交流是我的动力. :) DAX/PowerBI系列 - 关于时间系列 - 如何用脚本生成时间维度 (Generate Date Dimension) 难度: ★☆☆☆☆(1星) 适用范围: ★ ...
- 1、用datetimepicker插件实现限定时间范围的选择 2、时间插件实现默认当天的时间和只能选择小于今天的日期
一.用datetimepicker插件实现限定时间范围的选择 1.下面是要实现的效果图,让开始时间只能从 2018-7-1 到 2018-7-7 选择. 2.html的结构 <div cla ...
- toLocaleTimeString()方法在IE和谷歌浏览器上 根据本地时间格式,把 Date 对象的时间部分(不含日期)转换为“时间字符串”存在区别
这两天修改一个bug,发现一个问题: toLocaleTimeString()方法在IE和谷歌浏览器上 根据本地时间格式,把 Date 对象的时间部分(不含日期)转换为“时间字符串”存在区别.方法原 ...
- 【转载】vue.js实现格式化时间并每秒更新显示功能示例
引用:https://www.jb51.net/article/143351.htm 这篇文章主要介绍了vue.js实现格式化时间并每秒更新显示功能,结合实例形式分析了vue.js时间格式化显示与基于 ...
- 【持续更新】JS 时间与日期
JS 的日期时间在项目中是必定会用到的,所以必须掌握. UTC 与 GMT 背景 十七世纪,格林威治皇家天文台为了海上霸权的扩张计画而进行天体观测.1675年旧皇家观测所(Old Royal Obse ...
- 织梦DedeCMS未审核文章更新为当前时间
对于个人站长来说,每天文章的更新量都是个巨大的问题,例如,立信CPA培训注册会计师考试网站,有时候我们去别的网站采集大量的文章,然后自己进行手工整理伪原创,但是审核的时候,时间却是采集发布的时间.一方 ...
随机推荐
- PyCharm 中文教程 01:运行 Python 的四种方式
<PyCharm 中文指南>在线阅读: http://pycharm.iswbm.com/ Github 项目主页: https://github.com/iswbm/pych... 1. ...
- if-else 可以这么写
最近部门在对以往的代码做一些优化,我在代码中看到一连串的 if(){}elseif(){} 的逻辑判断.这明显是有优化空间的. 由于内部代码不适合分享,这里我就用 <输出今天为星期几> 来 ...
- 如何安装CRX格式?Chrome插件离线安装,CRX格式安装方法 JSON-handle Chrome插件下载
目前,Chrome官方已经禁止非Chrome商店的应用安装了,所以本站的应用还是通过国外服务器从谷歌官方应用市场下载下来的,提供给国内的广大用户使用,下面我们就以 Check my cookies 插 ...
- Spark RDD中Runtime流程解析
一.Runtime架构图 (1)从Spark Runtime的角度讲,包括五大核心对象:Master.Worker.Executor.Driver.CoarseGrainedExecutorBack ...
- Timeline Event
https://forum.unity.com/threads/timeline-events.479400/
- 深入了解Netty【六】Netty工作原理
引言 前面学习了NIO与零拷贝.IO多路复用模型.Reactor主从模型. 服务器基于IO模型管理连接,获取输入数据,又基于线程模型,处理请求. 下面来学习Netty的具体应用. 1.Netty线程模 ...
- 小程序开发-媒体组件video使用入门
video 视频(v2.4.0 起支持同层渲染).相关api:wx.createVideoContext 常见属性如下: 支持的格式 示例: <video src="http://wx ...
- YOLOv4: Darknet 如何于 Docker 编译,及训练 COCO 子集
YOLO 算法是非常著名的目标检测算法.从其全称 You Only Look Once: Unified, Real-Time Object Detection ,可以看出它的特性: Look Onc ...
- python基础:多进程、多线程
一.定义和区别 1.一个任务就是一个进程,进程就是资源的集合.比如打开浏览器,启动一个进程.当一个进程需要干很多事的时候,就需要执行多个子任务,这些子任务就是线程. 2.线程是包含在进程中的,每个进程 ...
- Python中的枚举enumerate