用js和java分别实现定时器效果
1. 定时器
所谓定时器,就是每隔一段时间进行的重复性的工作,在编码的层次上来说,代码是不变的。
下面我们分别用JavaScript和Java实现定时器输出时间的效果。
2.JavaScript实现
我用前端三剑客写了一个简单的始终效果,在这其中就有用到js的定时器效果。实现的代码如下所示:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>定时器</title>
<script src="../js/jquery-3.5.1.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
<style>
#demo {
border: 1px solid #ccc;
border-radius: 5px;
height: 100px;
text-align: center;
line-height: 100px;
}
#div1 {
margin: 0px auto;
border: 1px solid black;
width: 600px;
height: 200px;
border-radius: 5px;
}
#div2{
border-radius: 5px;
width: 100%;
text-align: center;
}
</style>
</head>
<body>
<div id="div1" class="container" style="margin: 20px">
<p class="h2" id="demo"></p>
<br>
<div id="div2" >
<button id="start" class="btn btn-info">开始</button>
<button id="stop" class="btn btn-danger">结束</button>
</div>
</div>
<script>
var t;
window.onload = function () {
document.getElementById("start").onclick = function () {
t = setInterval(function () {
var date = document.getElementById("demo")
date.innerHTML = new Date().toLocaleString();
}, 1000)
}
document.getElementById("stop").onclick = function () {
clearInterval(t);
}
}
</script>
</body>
</html>
最终的实现效果是这样的:
我们点击开始,屏幕上便开始显示时间并间隔一秒变化一次,点击结束按钮,则停止,当再次点击开始时,到当前时间重新显示。
3.java 实现
因为java是在控制台进行输出的,所以相对来说比较简单,只需要引入时间类并进行显示输出便可。
具体实现代码如下:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TimerTest {
public static void main(String[] args) throws Exception {
Timer time = new Timer(1000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//打印时间
System.out.println(new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss").format(new Date()));
//发声
Toolkit.getDefaultToolkit().beep();
}
});
time.start();
JOptionPane.showMessageDialog(null, "确定要结束吗?");
}
}
最终的实现效果是这样的