Hallo Zusammen,
ich schreibe ein Dauerlaufprogramm für bestimmte Hardware.
Im Programm kann ausgewählt werden, ob der Dauerlauf 2, 4, 24, 48 oder 72 Stunden laufen soll, oder ob er per Hand beendet werden soll.
Die verbleibende Zeit, bzw. die verstrichene Zeit möchte ich gerne darstellen. Dazu habe ich folgendes geschrieben
Wenn also in der ComboBox "Manuell" ausgewählt ist, soll die verstichene Zeit angezeigt werden, ansonsten die verbleibende.
Die Variable Laufzeit beinhaltet die Laufzeit in Sekunden. Ich weiß nicht warum, aber wenn ich die 3600000 nicht subtrahiere, wird mir immer eine Stunde zu viel angezeigt.
Das Problem ist jetzt noch:
Wenn der Dauerlauf bspw. 72 Stunden laufen soll, zählt das Programm von 24 Stunden runter, nach den 24 Stunden fängt er wieder bei 24 Stunden an usw.
Wie bekomme ich die Anzeige dahingehend, dass auch wirklich die korrekte Restzeit angezeigt wird?
Gruß
TDO
ich schreibe ein Dauerlaufprogramm für bestimmte Hardware.
Im Programm kann ausgewählt werden, ob der Dauerlauf 2, 4, 24, 48 oder 72 Stunden laufen soll, oder ob er per Hand beendet werden soll.
Die verbleibende Zeit, bzw. die verstrichene Zeit möchte ich gerne darstellen. Dazu habe ich folgendes geschrieben
Java:
long start = StartDatum.getTime();
long akt;
long ergebnis;
DateFormat Zeit = new SimpleDateFormat("HH:mm");
String sZeit;
Date erg = new Date();
try
{
while(runnable)
{
akt = System.currentTimeMillis();
if(jComboBoxTime.getSelectedItem().toString().equals(("Manuell")))
{
ergebnis = akt - start - 3600000;
}
else
{
ergebnis = (start + (Laufzeit * 1000)) - akt - 3600000;
}
erg.setTime(ergebnis);
sZeit = Zeit.format(erg);
jLabelTime.setText(sZeit);
Thread.sleep(5000);
}
}catch(Exception e){
JOptionPane.showMessageDialog(this, e.getMessage(), "Fehler", JOptionPane.ERROR_MESSAGE);
}
Wenn also in der ComboBox "Manuell" ausgewählt ist, soll die verstichene Zeit angezeigt werden, ansonsten die verbleibende.
Die Variable Laufzeit beinhaltet die Laufzeit in Sekunden. Ich weiß nicht warum, aber wenn ich die 3600000 nicht subtrahiere, wird mir immer eine Stunde zu viel angezeigt.
Das Problem ist jetzt noch:
Wenn der Dauerlauf bspw. 72 Stunden laufen soll, zählt das Programm von 24 Stunden runter, nach den 24 Stunden fängt er wieder bei 24 Stunden an usw.
Wie bekomme ich die Anzeige dahingehend, dass auch wirklich die korrekte Restzeit angezeigt wird?
Gruß
TDO