Java 定时器类 Timer 使用方法
发布时间:2020-12-15 00:13:18 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 import java.awt.*;import java.awt.event.*;import java.text.SimpleDateFormat;import java.util.*;import java.util.Timer;import javax.swing.*;
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 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); } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |