求一个倒计时,秒表。需要JAVA. 需要有断电记忆功能

java.就是说。当程序开启的时候保存数据。下一次打开有重新读取数据。给个完整的代码。谢谢大侠了

以下是一个简单的Java倒计时和秒表程序示例,其中使用了Timer和'计时器任务TimerTask类来实现计时功能,使用了'FileFile和'FileWriterFileWriter类来实现断电记忆功能。在程序中,倒计时可以通过设置'countDownSecondscountDownSeconds变量来设置,秒表可以通过点击"开始"和"停止"按钮来控制计时。每次停止计时后,程序将自动保存当前计时的时间戳,以实现断电记忆功能。
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class TimerExample extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private JLabel countDownLabel, stopWatchLabel;
private JButton countDownButton, stopWatchButton, stopButton;
private Timer countDownTimer, stopWatchTimer;
private int countDownSeconds, stopWatchSeconds;
private long lastStopWatchTime;
public TimerExample() {
super("倒计时和秒表");
setLayout(new GridLayout(3, 2, 10, 10));
// 倒计时标签和按钮
countDownLabel = new JLabel("倒计时: 00:00:00");
countDownButton = new JButton("开始倒计时");
countDownButton.addActionListener(this);
add(countDownLabel);
add(countDownButton);
// 秒表标签和按钮
stopWatchLabel = new JLabel("秒表: 00:00:00");
stopWatchButton = new JButton("开始");
stopWatchButton.addActionListener(this);
stopButton = new JButton("停止");
stopButton.addActionListener(this);
stopButton.setEnabled(false);
add(stopWatchLabel);
add(stopWatchButton);
add(stopButton);
// 初始化计时器
countDownTimer = new Timer(1000, new CountDownTask());
stopWatchTimer = new Timer(1000, new StopWatchTask());
// 恢复上一次停止的时间
try {
File file = new File("last_stopwatch_time.txt");
if (file.exists()) {
BufferedReader reader = new BufferedReader(new FileReader(file));
lastStopWatchTime = Long.parseLong(reader.readLine());
reader.close();
stopWatchSeconds = (int) ((System.currentTimeMillis() - lastStopWatchTime) / 1000);
updateStopWatchLabel();
}
} catch (IOException e) {
e.printStackTrace();
}
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(400, 200);
setVisible(true);
}
private void updateCountDownLabel() {
int hours = countDownSeconds / 3600;
int minutes = (countDownSeconds % 3600) / 60;
int seconds = countDownSeconds % 60;
countDownLabel.setText(String.format("倒计时: %02d:%02d:%02d", hours, minutes, seconds));
}
private void updateStopWatchLabel() {
int hours = stopWatchSeconds / 3600;
int minutes = (stopWatchSeconds % 3600) / 60;
int seconds = stopWatchSeconds % 60;
stopWatchLabel.setText(String.format("秒表: %02d:%02d:%02d", hours, minutes, seconds));
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == countDownButton) {
if (countDownTimer.isRunning())
温馨提示:内容为网友见解,仅供参考
第1个回答  2023-04-20
以下是一个简单的倒计时和秒表程序的JAVA代码示例,它包括断电记忆功能,将倒计时和秒表的时间保存到文件中,下次打开程序时从文件中读取并继续计时或计数。
import java.io.*;
public class TimerAndStopwatch {
private static final String TIMER_FILE = "timer.txt";
private static final String STOPWATCH_FILE = "stopwatch.txt";
// 倒计时
public static void countdown(int seconds) throws InterruptedException {
// 读取上次保存的时间
int prevTime = readFromFile(TIMER_FILE);
if (prevTime > 0) {
seconds = prevTime;
}
System.out.println("倒计时开始:" + seconds + " 秒");
while (seconds > 0) {
Thread.sleep(1000);
seconds--;
System.out.println("剩余时间:" + seconds + " 秒");
saveToFile(TIMER_FILE, seconds);
}
System.out.println("时间到!");
}
// 秒表
public static void stopwatch() throws InterruptedException {
// 读取上次保存的时间
int prevTime = readFromFile(STOPWATCH_FILE);
System.out.println("秒表开始!");
int seconds = prevTime;
while (true) {
Thread.sleep(1000);
seconds++;
System.out.println("计时:" + seconds + " 秒");
saveToFile(STOPWATCH_FILE, seconds);
}
}
// 从文件中读取时间
private static int readFromFile(String filename) {
try (BufferedReader reader = new BufferedReader(new FileReader(filename))) {
String line = reader.readLine();
if (line != null && !line.isEmpty()) {
return Integer.parseInt(line);
}
} catch (IOException e) {
System.err.println("读取文件出错:" + e.getMessage());
}
return 0;
}
// 将时间保存到文件
private static void saveToFile(String filename, int seconds) {
try (PrintWriter writer = new PrintWriter(new FileWriter(filename))) {
writer.println(seconds);
} catch (IOException e) {
System.err.println("保存文件出错:" + e.getMessage());
}
}
public static void main(String[] args) throws InterruptedException {
countdown(60);
stopwatch();
}
}
在这个程序中,我们使用了两个常量来表示保存时间的文件名,TIMER_FILE表示倒计时的文件名,STOPWATCH_FILE表示秒表的文件名。在倒计时和秒表开始时,我们读取上次保存的时间,如果有的话,将其作为初始时间;否则,使用默认时间。在计时或计数时,我们使用Thread.sleep(1000)让程序暂停1秒钟,然后更新时间或计数并保存到文件中。当程序下一次启动时,会从文件中读取保存的时间或计数,然后继续计时或计数。
第2个回答  2023-04-21
文件的读写啊,使用 FileOutputStream 类来向文件写入内容,用FileInputStream 类来读取文件内容

求一个倒计时,秒表。需要JAVA. 需要有断电记忆功能
countDownLabel = new JLabel("倒计时: 00:00:00");countDownButton = new JButton("开始倒计时");countDownButton.addActionListener(this);add(countDownLabel);add(countDownButton);\/\/ 秒表标签和按钮 stopWatchLabel = new JLabel("秒表: 00:00:00");stopWatchButton = new JButton("开...

JAVA秒表倒计时程序,用swing界面显示,请大家一定要帮帮小弟哈,我实在做...
package com;import java.awt.Dimension;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.util.Timer;import java.util.TimerTask;import javax.swing.BoxLayout;import javax.swing.JButton;import javax.swing.JComponent;import javax.swing...

求一个秒表倒计时软件
倒计时 V1.0 http:\/\/www.skycn.com\/soft\/4190.html 精巧的可自行设置的倒计时软件,可嵌入任务栏工作,也可浮在屏幕上方.几乎不占用系统资源。

急求一个放入PPT的倒计时秒表,好看点的,30秒即可。多谢多谢!!!_百度...
你可以设置数字的自定义动画:1、先在文本框中输入10——右键——自定义动画,退出:消失——在出现的动画设置(右边)中选择:开始于鼠标单击时——点出下拉菜单选择计时:延迟1秒——也就是说在你的鼠标单击时开始倒计时。2、再插入一个文本框,输入9——右键——自定义动画——出现:溶解——在出...

怎样用51单片机实现累加计时和倒计时,并用六个共阴极数码管显示出来。用...
它的计时周期为24小时,显满刻度为“23时59分59秒”,另外具有校时功能,断电后有记忆功能,恢复供电时可实现计时同步等特点。2 方案论证2.1 方案一数字钟采用FPGA作为主控制器。由于FPGA具有强大的资源,使用方便灵活,易于进行功能扩展,特别是结合了EDA,可以达到很高的效率。此方案逻辑虽然简单一点,但是一块FPGA的价格...

卡西欧黑白熊猫有什么功能
1. 基本计算功能:卡西欧黑白熊猫可以进行加减乘除等基本的数学运算,满足日常计算需求。2. 科学计算功能:除了基本计算,卡西欧黑白熊猫还可以进行科学计算,包括指数、对数、三角函数等复杂运算,适用于学生、科研人员等需要进行高级数学计算的人群。3. 统计功能:卡西欧黑白熊猫具备统计计算功能,可以进行数据...

...一个指针型时钟程序,时钟还具有闹钟和倒计时功能,求能在mfc里执行的...
(5) 添加秒表的两个按钮位置变量。CRect m_WatchStart;CRect m_WatchStop;(6) 添加两个函数,计算时钟各指针位置。void SetClock (int hour, int minute, int second);CPoint GetPoint (int nLenth, int nValue);(7) 在视图类构造函数中增加初始化语句,之前加上头文件#include<ctime> CClockView::CC...

如何用单片机做一个简单的倒计时器?
EA=1;\/\/打开总中断 TR0=1;\/\/打开定时器-->启动定时器中断!ET1=1;TR1=1;TH1=(65536-250)\/256; \/\/FC TL1=(65536-250)%256;} \/ 函 数 名 : DigDisplay 函数功能 : 数码管动态扫描函数,循环扫描8个数码管显示 \/ void DigDisplay(){ u8 i;for(i=0;i<8;i++){ switch(i)...

如何在ppt里插入一个秒表啊?
1.这里说的并不是排练计时,不是预览播放时自动控制的,而是秒表计时器,目的不同,方法也不一样的。2.第一种方法 利用FLASH制作一个倒计时的效果,然后导入到ppt里直接用,这就需要会制作动画了。3.首先,进入FLASH利用画圆工具绘制一个钟表的外框,然后在内侧写入数字,根据倒计时的要求调整时间的...

【求助】求高手指教能否会声会影x5 制作一个视频,视频中有个秒表...
下载个倒计时视频再导入吧,或者只能是字幕的不断切换

相似回答
大家正在搜