Java 定时器类 Timer 使用方法
发布时间:2020-05-24 16:12:48 所属栏目:Java 来源:互联网
导读:Java 定时器类 Timer 使用方法
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。
import java.awt.*;
import java.awt.event.*;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.Timer;
import javax.swing.*;
public class SimpleTimer extends JWindow {
public static void main(String[] args) {
SimpleTimer simpleTimer = new SimpleTimer();
simpleTimer.pack();
simpleTimer.setAlwaysOnTop(true);
simpleTimer.setVisible(true);
}
private Long startTimeMillis;
private JLabel label;
private SimpleDateFormat dateFormat;
private Timer timer;
public SimpleTimer() {
initDateFormat();
initConponents();
resetTime();
updateLabelText();
startTimer();
}
private void initDateFormat() {
dateFormat = new SimpleDateFormat("HH:mm:ss");
dateFormat.setTimeZone(TimeZone.getTimeZone("GMT"));
}
private void initConponents() {
label = new JLabel();
label.setFont(new Font(label.getFont().getName(),Font.BOLD,14));
label.setOpaque(true);
label.setBackground(Color.black);
label.setForeground(Color.white);
label.setBorder(BorderFactory.createEmptyBorder(0,2,2));
getContentPane().add(label);
final JPopupMenu popup = new JPopupMenu();
JMenuItem menuItem1 = new JMenuItem("Reset");
menuItem1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
resetTime();
}
});
popup.add(menuItem1);
JMenuItem menuItem2 = new JMenuItem("Exit");
menuItem2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
popup.add(menuItem2);
label.setComponentPopupMenu(popup);
label.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (e.getButton() == MouseEvent.BUTTON2
&& e.getClickCount() == 1) {
popup.setVisible(true);
}
}
});
}
private void resetTime() {
startTimeMillis = Calendar.getInstance().getTimeInMillis();
}
/**
* ラベル更新
*/
private void updateLabelText() {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
long elapsedTime = Calendar.getInstance().getTimeInMillis()
- startTimeMillis;
Date date = new Date(elapsedTime);
label.setText(dateFormat.format(date));
}
});
}
/**
* タイマー開始
*/
private void startTimer() {
timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
updateLabelText();
}
},1000);
}
}
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- springMVC几种页面跳转方式小结
- java – 如果不存在,将一个新值添加到地图中,或者添加它
- Struts2 多文件上传
- java – Spring MVC 3.0:String是@PathVariable的首选类型
- java 文件和byte互转的实例
- Java泛型,如何强制扩展超类以具有相同类型的方法的两个参数
- 是否有一个java等效的python eval函数?
- java – org.apache.commons.net.ftp.FTPClient listFiles(
- java – 使用Collection.stream通过特定属性进行动态分组
- Spring Boot实现异步请求(Servlet 3.0)
