用java编写一个倒计时器代码。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用java编写一个倒计时器代码。相关的知识,希望对你有一定的参考价值。
要求:1.从60秒开始倒计时并显示在界面2中。
2.当等于0秒时,跳转到界面1。
3.当在界面2中点击按钮1进入界面3时,界面2中的倒计时会暂停(即进入界面3后不会跳转到界面1)
总得来说,就是类似ATM机上的倒计时功能。
对了。需要界面2跳转到界面1时,界面2会消失。
参考技术A
import java.awt.BorderLayout;import java.awt.Container;import java.awt.Font;import java.awt.GridLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JTextField;public class TimerDemo extends JFrame implements ActionListener private static final long serialVersionUID = 201306211111L; private JTextField screen = new JTextField("0"); private JButton start = new JButton("开始"); private JButton reset = new JButton("重置"); private JPanel panel = new JPanel(); private boolean isRunning; private int time; private int timeBetween; public TimerDemo(int timeBetween) super("计时器"); this.timeBetween = timeBetween; try init(); catch (Exception e) e.printStackTrace(); public TimerDemo() super("计时器"); this.timeBetween = 100; try init(); catch (Exception e) e.printStackTrace(); private void init() panel.setLayout(new GridLayout()); panel.add(start); panel.add(reset); start.addActionListener(this); reset.addActionListener(this); screen.setFont(new Font("幼圆", Font.BOLD, 60)); screen.setHorizontalAlignment(JTextField.CENTER); screen.setEditable(false); Container c = getContentPane(); c.setLayout(new BorderLayout()); c.add(panel, BorderLayout.SOUTH); c.add(screen, BorderLayout.CENTER); this.setSize(200, 150); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setResizable(false); this.setLocationRelativeTo(null); this.setVisible(true); public static void main(String[] args) new TimerDemo(1);// 设定 1ms/次 // new TimerDemo(); @Override public void actionPerformed(ActionEvent e) if (e.getSource() == start) if (start.getText().equals("开始")) start.setText("暂停"); isRunning = true; else if (start.getText().equals("暂停")) start.setText("开始"); isRunning = false; if (e.getSource() == reset) start.setText("开始"); screen.setText("0"); isRunning = false; time = 0; new Thread(new TimeZone()).start(); class TimeZone implements Runnable @Override public void run() while (isRunning) time++; if (time >= Integer.MAX_VALUE) screen.setText("ERROR"); JOptionPane.showMessageDialog(null, "ERROR"); isRunning = false; screen.setText(String.valueOf(time)); try Thread.sleep(timeBetween); catch (Exception e) e.printStackTrace();
以上是关于用java编写一个倒计时器代码。的主要内容,如果未能解决你的问题,请参考以下文章
用java编写一个计数器或计时器
如何用VB6编写一个计时器(如秒表的)高分
如何用java实现一个计时器来定时读取和写入数据库?急!
求高手指点一二,我需要用java编写一个定时器,每天8点开始执行,每一个小时执行一次,过了晚上12点停止
java用啥软件编写代码
用延时器和定时器编写一段程序。要求实现8盏灯从上到下每隔一秒亮一盏,全亮一秒在从下到上亮一遍如此循环