Я разрабатываю обратный отсчет для программы, время успешно сохраняется, но когда я перезапускаю программу, метка загружает время, но не возобновляет работу. Что мне нужно сделать для возобновления таймера?
Это для программы, которая требует активации лицензии на программное обеспечение
private Timer t;
private int M = 5, S = 60;
File Save = new File("C:\\Users\\User\\Downloads\\Countdown.txt");
private ActionListener accion = new ActionListener(){
@Override
public void actionPerformed(ActionEvent ae) {
S--;
if( S == -1){
M = M - 1;
S = 60;
}if( M == -1){
M = 5;
S = S - 0;
}if( M == 1 && S == 1){
Lbl_Warning.setText("Your'e Software Licence Soon Expire");
}if( M == 0 && S == 1){
Lbl_Warning.setText("Your'e Software Licence Expired");
M = 0; S = 0;
t.stop();
}
Update();
}
};
public Crono() {
initComponents();
this.setLocationRelativeTo(null);
t = new Timer(1000, acciones);
t.start();
}
public void Save(){
try{
if(!Save.exists()){
Save.createNewFile();
}{
BufferedWriter BW = new BufferedWriter(new FileWriter(Save.getAbsolutePath()));
BW.write(Lbl_Cronometro.getText());
BW.close();
}
} catch (IOException ex) {
ex.getMessage();
}
}
public void Charge(){
try {
if (Save.exists()){
Scanner sc = new Scanner(Save);
Lbl_Crono.setText(sc.nextLine());
sc.close();
}
} catch (FileNotFoundException ex) {
ex.getMessage();
}
}
private void Update() {
String time = (M+" : "+S);
Lbl_Crono.setText(time);
}
private void Lbl_ExitMouseClicked(java.awt.event.MouseEvent evt) {
if(t.isRunning())
{
t.stop();
Save();
System.exit(0);
}
Update();
}
Я ожидаю, когда я снова открою JFrame, заряду сохраненного времени обратного отсчета и запуска.