设计背景
在某一阶段可能需要给自己设置长期任务,比如找工作、考研等,目前市面上的日历、倒计时App大都五花八门,功能繁琐,需要花不少时间来习惯使用界面,或者是含有广告分散使用者的注意力。其实用户只是需要一个单纯的任务计时工具,只需要倒计时提醒这一项功能,设置完任务的目标时间后,每次打开App时都能直接看到最新的剩余时间
设计步骤
1. 写java源码
由于需要界面显示,需要用到swing库等,以下是源码
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.temporal.ChronoUnit;
import java.util.*;
import java.util.List;
public class CountdownTimer extends JFrame {
private JTextField taskNameField;
private JTextField dateTimeField;
private JLabel messageLabel;
private static final String FILE_PATH = "tasks.txt";
private DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
private List<Task> tasks = new ArrayList<>();
private JPanel tasksPanel;
public CountdownTimer() {
setTitle("倒计时器");
setSize(600, 400);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
// 创建输入框和按钮
taskNameField = new JTextField(10);
dateTimeField = new JTextField(20);
messageLabel = new JLabel("输入任务名和目标时间 (yyyy-MM-dd HH:mm:ss)", SwingConstants.CENTER);
JButton addButton = new JButton("添加任务");
// 添加事件监听器
addButton.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
addTask();
}
})