21xrx.com
2024-12-22 23:42:59 Sunday
登录
文章检索 我的文章 写文章
用Java编写计时器程序——轻松掌握计时技能
2023-06-15 16:18:09 深夜i     --     --
Java 计时器 Swing 定时任务 JFrame JLabel JButton

文章:

作为现代人,我们经常需要计算时间,比如做饭、运动、学习等等。一般情况下,我们可以使用手表或手机来计时,但是如果要进行长时间精确计时,那么计时器就是不二选择了。

那么,今天我们就来讲一下如何使用Java编写一个计时器程序,来方便我们的生活。

第一步:创建一个窗口

在Java中,我们可以使用Swing或JavaFX来创建窗口。这里我们将使用Swing来创建一个简单的窗口。


import javax.swing.*;

public class Timer {

  public static void main(String[] args) {

    JFrame frame = new JFrame("计时器");

    frame.setSize(200, 150);

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.setVisible(true);

  }

}

这段代码使用了JFrame类来创建一个窗口,设置了标题、大小和关闭方式,并且将窗口设置为可见。

第二步:添加计时器标签和按钮


import javax.swing.*;

public class Timer {

  public static void main(String[] args) {

    JFrame frame = new JFrame("计时器");

    frame.setSize(200, 150);

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.setLayout(new BorderLayout());

    JLabel label = new JLabel("0 秒", JLabel.CENTER);

    frame.add(label, BorderLayout.CENTER);

    JButton button = new JButton("开始");

    frame.add(button, BorderLayout.SOUTH);

    frame.setVisible(true);

  }

}

这里我们在窗口中添加了一个标签和一个按钮。标签用于显示计时器的时间,按钮用于开始或暂停计时。

第三步:添加计时器逻辑


import javax.swing.*;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.Timer;

import java.util.TimerTask;

public class Timer {

  private static int count = 0;

  private static Timer timer = new Timer();

  public static void main(String[] args) {

    JFrame frame = new JFrame("计时器");

    frame.setSize(200, 150);

    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    frame.setLayout(new BorderLayout());

    JLabel label = new JLabel("0 秒", JLabel.CENTER);

    frame.add(label, BorderLayout.CENTER);

    JButton button = new JButton("开始");

    frame.add(button, BorderLayout.SOUTH);

    button.addActionListener(new ActionListener() {

      @Override

      public void actionPerformed(ActionEvent e) {

        if(button.getText().equals("开始")) {

          button.setText("暂停");

          timer.schedule(new TimerTask() {

            @Override

            public void run() {

              count++;

              label.setText(count + " 秒");

            }

          }, 0, 1000);

        } else {

          button.setText("开始");

          timer.cancel();

          timer = new Timer();

        }

      }

    });

    frame.setVisible(true);

  }

}

在这一步中,我们添加了计时器逻辑,使得点击按钮可以开始或暂停计时器的计时。我们在计时器开始的时候使用一个Java Timer来执行定时任务,并且在每次计时完成后更新相应的标签。

  
  

评论区

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