21xrx.com
2024-11-08 19:25:04 Friday
登录
文章检索 我的文章 写文章
「JAVA教程」编写倒计时代码
2023-06-16 14:42:13 深夜i     --     --
Java 倒计时 定时器

倒计时是一个常见的功能,在Java中编写倒计时代码也是很常见的。编写倒计时代码需要了解Java中的线程、定时器、Swing等相关知识。接下来,本文将介绍如何使用Java编写一个简单的倒计时功能。

首先,我们需要创建一个倒计时的窗口。这可以通过Swing组件来实现。下面是一个基本的窗口实现:


import javax.swing.*;

public class CountDown extends JFrame {

  private JLabel label;

  private int count = 10;

  public CountDown() {

    label = new JLabel("倒计时:" + count + "秒");

    add(label);

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    setSize(300, 200);

    setLocationRelativeTo(null);

    setVisible(true);    

  }

}

下一步,我们需要使用定时器来更新窗口的显示。Java中提供了Timer类来实现定时器的功能。下面是一个简单的使用定时器的例子:


import javax.swing.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

public class CountDown extends JFrame {

  private JLabel label;

  private int count = 10;

  public CountDown() {

    label = new JLabel("倒计时:" + count + "秒");

    add(label);

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    setSize(300, 200);

    setLocationRelativeTo(null);

    setVisible(true);

    Timer timer = new Timer(1000, new ActionListener() {

      @Override

      public void actionPerformed(ActionEvent e) {

        count--;

        label.setText("倒计时:" + count + "秒");

        if (count == 0) {

          ((Timer) e.getSource()).stop();

          JOptionPane.showMessageDialog(null, "时间到!");

        }

      }

    });

    timer.start();

  }

}

在这个例子中,我们创建了一个Timer对象,该对象每隔一秒钟调用一次ActionListener中的actionPerformed方法,更新倒计时的显示,并在时间到达时停止计时。

最后,我们需要在程序的入口处启动倒计时窗口。下面是完整的倒计时代码:


import javax.swing.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

public class CountDown extends JFrame {

  private JLabel label;

  private int count = 10;

  public CountDown() {

    label = new JLabel("倒计时:" + count + "秒");

    add(label);

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    setSize(300, 200);

    setLocationRelativeTo(null);

    setVisible(true);

    Timer timer = new Timer(1000, new ActionListener() {

      @Override

      public void actionPerformed(ActionEvent e) {

        count--;

        label.setText("倒计时:" + count + "秒");

        if (count == 0) {

          ((Timer) e.getSource()).stop();

          JOptionPane.showMessageDialog(null, "时间到!");

        }

      }

    });

    timer.start();

  }

  public static void main(String[] args) {

    new CountDown();

  }

}

通过上述步骤,我们成功的使用Java编写了一个倒计时功能的窗口程序。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复