Zeit Differenz automatisch aktualisieren

27sharp

Mitglied
Hallo Leute,

Ich stehe zurzeit vor einem Problem.
Ich berechne zunächst die Differenz zwischen zwei Uhrzeiten, danach möchte ich dies ausgeben.
Auf der Konsole funktioniert das zwar aber ich möchte die Differenz jede Sekunde aktualisieren.(wie ein Coundtdown)
Mein Problem ist jetzt bei der aktualisierung.

Mein Code zur Differenzberechnung:
TimeDifferenz
Java:
public class TimeDifference {
	private String time;
	private int stunden;
	private int minuten;
	private int sekunden;
	LocalTime localtime = new LocalTime();
	
	public String getDifference(String t) {
		 Seconds seconds = Seconds.secondsBetween(localtime, LocalTime.parse(t));
		 stunden = seconds.getSeconds() / 3600;
		 minuten = (seconds.getSeconds() - stunden * 3600) / 60;
		 sekunden = (seconds.getSeconds() - (stunden*3600) - (minuten*60));
		
		 time = String.format("%02d:%02d:%02d",stunden, minuten,sekunden);
		
		 return time;
	}

Es geht immer um 6 Uhrzeiten, von denen die Differenz zur aktuellen Zeit berechnet werden soll.

Also z.B: aktuelle Zeit: 15.00Uhr ; andere Zeit: 15:30Uhr; Ausgabe: 00:30:00

So es geht ja um sechs Zeiten. Die werden zunächst geprüft welche Zeit am nähesten zur aktuellen Zeit ist und dann die Differenz ausgerechnet:

TimeCalculator

Java:
public class TimeCalculater {
	NamazTimes nz = new NamazTimes();
	TimeDifference td = new TimeDifference();
	Date date = new Date();
	SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
	private String nowDate = sdf.format(date);

	public void Calculate() throws ParseException, IOException {
		
		if(nowDate.compareTo(nz.getImsak())< 0) {
			
			
			td.getDifference(nz.getImsak());
		}
		
		
		if(nowDate.compareTo(nz.getImsak())==0)
			{
				System.out.println("Ezan Imsak!");
				
			}
		if(nowDate.compareTo(nz.getImsak())> 0) { // prüfen ob Zeit größer als Imsak, dann..
		if(nowDate.compareTo(nz.getGunes())< 0) {
			
			td.getDifference(nz.getGunes());
			
		}
		}
		if(nowDate.compareTo(nz.getGunes())== 0)
		{
			System.out.println("Ezan Günes!");
			
		}
		if(nowDate.compareTo(nz.getGunes())> 0) {
		if(nowDate.compareTo(nz.getOegle()) < 0) {
			
			td.getDifference(nz.getOegle());
		
		}
		}
		if(nowDate.compareTo(nz.getOegle()) == 0) {
			System.out.println("Ezan Öyle");
			
		}
		if(nowDate.compareTo(nz.getOegle())> 0) {
		if(nowDate.compareTo(nz.getIkindi()) < 0) {
			
			td.getDifference(nz.getIkindi());
		
		}
		}
		if(nowDate.compareTo(nz.getIkindi()) == 0) {
			System.out.println("Ezan Ikindi");
		}
		if(nowDate.compareTo(nz.getIkindi())> 0) {
		if(nowDate.compareTo(nz.getAksam()) < 0) {
			
			 td.getDifference(nz.getAksam());
		}
		}
		if(nowDate.compareTo(nz.getAksam()) == 0) {
			System.out.println("Ezan Aksam");
		
		}
		if(nowDate.compareTo(nz.getAksam())> 0) {
		if(nowDate.compareTo(nz.getYatsi()) < 0) {
			
			 td.getDifference(nz.getYatsi());
				
			}
			
			
		}
		
		
	}

Hierbei ist getImsak in Zeile 10 zum Beispiel eine von den sechs Zeiten.
So jetzt wieder zur Problemstellung:

Mein Ansatz bis jetzt mit Timer, der aber nicht Funktioniert:

Main

Java:
JFrame frame = new JFrame("EzanTime");
			frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
			final JLabel uhrzeit = new JLabel("---");
			Timer timer = new Timer(1000, new ActionListener() {

				@Override
				public void actionPerformed(ActionEvent e) {
					try {
						uhrzeit.setText(tc.Calculate());
					} catch (ParseException e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					} catch (IOException e1) {
						// TODO Auto-generated catch block
						e1.printStackTrace();
					}
					
				}
			});
			timer.start();
			frame.add(uhrzeit);
			frame.pack();
			frame.setVisible(true);

Ich weiß jetzt nicht wie ich weiter machen soll.
Vielen Dank im voraus.
 
Zuletzt bearbeitet:

Foxei

Bekanntes Mitglied
Hallo 27sharp,
ich finde deinen Code etwas lang dafür das du nur so etwas einfaches wie eine Zeit Differenz darstellen willst. Ich habe hier eine Lösung die ich mal in der Schule geschrieben habe für dich sie besteht aus Zweit Classen und rund 80 Zeilen.

Das GUI
Eine einfache Frame mit einem Label darauf. in der initCalculation() setzen wir die Neue Uhrzeit und starten den Work-Flow.
Java:
package Zeit;

import java.awt.BorderLayout;
import java.awt.Font;
import java.util.Calendar;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;

public class ZeitFrame extends JFrame {
	public static void main(String[] args) {
		ZeitFrame frame = new ZeitFrame();
		frame.setVisible(true);
	}
	private JLabel label;
	public ZeitFrame() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocationRelativeTo(null);
		label = new JLabel("<Zeit>");
		label.setFont(new Font("Tahoma", Font.PLAIN, 25));
		label.setHorizontalAlignment(SwingConstants.CENTER);
		add(label, BorderLayout.CENTER);
		pack();
		initCalculation();
	}

	private void initCalculation() {
		Calendar start=Calendar.getInstance();
		
		Calendar stop=Calendar.getInstance();
		stop.set(Calendar.HOUR_OF_DAY,23); //Stunden
		stop.set(Calendar.MINUTE, 30); //Minuten 
		
		new ZeitCalculater(start, stop, label);
	}
}

Der Work-Flow
Der Work-Flow besteh wie bei dir auch aus zwei Zeiten und einem Swing Timer der alle 1000 milli ausgeführt wird. Um die Differenz zu errechnen wird nun die Start Zeit(aktuelle Zeit) bei jeder Aktualisierung neu auf den jetzigen stand Aktualisiert.
Java:
package Zeit;

import java.awt.BorderLayout;
import java.awt.Font;
import java.util.Calendar;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.SwingConstants;

public class ZeitFrame extends JFrame {
	public static void main(String[] args) {
		ZeitFrame frame = new ZeitFrame();
		frame.setVisible(true);
	}
	private JLabel label;
	public ZeitFrame() {
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setLocationRelativeTo(null);
		label = new JLabel("<Zeit>");
		label.setFont(new Font("Tahoma", Font.PLAIN, 25));
		label.setHorizontalAlignment(SwingConstants.CENTER);
		add(label, BorderLayout.CENTER);
		pack();
		initCalculation();
	}

	private void initCalculation() {
		Calendar start=Calendar.getInstance();
		
		Calendar stop=Calendar.getInstance();
		stop.set(Calendar.HOUR_OF_DAY,23); //Stunden
		stop.set(Calendar.MINUTE, 30); //Minuten 
		
		new ZeitCalculater(start, stop, label);
	}
}
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
izoards Textfeld für Zeit AWT, Swing, JavaFX & SWT 4
S Swing JLabel Text mit der Zeit ändern AWT, Swing, JavaFX & SWT 1
F JavaFX Aktuelle Zeit in einem TextField anzeigen AWT, Swing, JavaFX & SWT 7
P JavaFX StackedAreaChart mit Datum und Zeit AWT, Swing, JavaFX & SWT 2
B GUI Darstellungsfehler mit der Zeit AWT, Swing, JavaFX & SWT 3
P LayoutManager Design meines Projekts (hätte wer zeit?) AWT, Swing, JavaFX & SWT 9
X Java Komponenten jeder Zeit hinzufügen können AWT, Swing, JavaFX & SWT 3
D Swing jSlider soll selber weiterwandern, je nach zeit der musik AWT, Swing, JavaFX & SWT 5
R 2D-Grafik Messdiagramm - Diagramm über Zeit AWT, Swing, JavaFX & SWT 5
D JTree zur richtigen Zeit aktualisieren. AWT, Swing, JavaFX & SWT 3
E JLabel nach Zeit X ausblenden AWT, Swing, JavaFX & SWT 12
elitebiber Swing JSpinner und die Zeit AWT, Swing, JavaFX & SWT 11
G Statusmeldung anzeigen und nach gewisser Zeit ausblenden AWT, Swing, JavaFX & SWT 4
mabe83 Kontinuierlich verbleibende Zeit in JTable Spalte anzeigen AWT, Swing, JavaFX & SWT 2
P JTable:Sortierung nach der Zeit/Spalte mit Calendar-Objekten AWT, Swing, JavaFX & SWT 2
G GUI für kurze Zeit stillstehen lassen. AWT, Swing, JavaFX & SWT 23
A JTable: Zeit in Spalte ausgeben AWT, Swing, JavaFX & SWT 2
M Spalte mit fortlaufener Zeit AWT, Swing, JavaFX & SWT 6
O JTextField: Text nur für kurze Zeit anzeigen AWT, Swing, JavaFX & SWT 2
JavaSchmecktLecker JavaFX JavaFX Ordner automatisch verlinken AWT, Swing, JavaFX & SWT 2
berserkerdq2 Skalieren sich javafx objekte automatisch auf die Bildschirmgröße AWT, Swing, JavaFX & SWT 6
berserkerdq2 Wie füge ich ein Bild in javafx mit dem Scenebuilder ein, das automatisch mitgezogen wird, wenn das Fenster vergrößert wird oder Vollbildmodus AWT, Swing, JavaFX & SWT 6
_user_q Gibt es eine Möglichkeit, in Java alle möglichen Zeichen automatisch tippen zu lassen? AWT, Swing, JavaFX & SWT 13
G JavaFX Wert aus DB lesen, wenn erfolgreich automatisch eine fxml laden, möglich? AWT, Swing, JavaFX & SWT 2
B JavaFX TableView-Zellen sollen automatisch so groß wie der größte Inhalt sein AWT, Swing, JavaFX & SWT 6
F JavaFX textField Ausgabe automatisch kopieren AWT, Swing, JavaFX & SWT 7
J Gridpane Breite in Scrollpane automatisch anpassen AWT, Swing, JavaFX & SWT 2
L ComboBox Wert automatisch auswählen AWT, Swing, JavaFX & SWT 6
L Swing Größe automatisch anpassen AWT, Swing, JavaFX & SWT 14
I CSS - backgroundImage - Größe automatisch an den Container anpassen AWT, Swing, JavaFX & SWT 1
P TreeView automatisch an große von Inhalt anpassen AWT, Swing, JavaFX & SWT 3
L Java FX Scrollpane automatisch resizen AWT, Swing, JavaFX & SWT 3
S Swing Bedienelemente ordnen sich automatisch neu an AWT, Swing, JavaFX & SWT 2
J JTextfield automatisch aus zweiter Klasse aktualisieren AWT, Swing, JavaFX & SWT 5
S Buttons und TextField automatisch vergrößern AWT, Swing, JavaFX & SWT 8
KilledByCheese 2D-Grafik Feld automatisch bewegen, in zeitabständen AWT, Swing, JavaFX & SWT 7
C AWT Textfelder werden nicht automatisch angezeigt AWT, Swing, JavaFX & SWT 2
G Properties automatisch laden AWT, Swing, JavaFX & SWT 10
W Bei Programmstart jRadioButton automatisch auswählen AWT, Swing, JavaFX & SWT 2
S JavaFX Fenstergrösse automatisch Speichern und Laden AWT, Swing, JavaFX & SWT 4
C Geloest: JTextfield: Titel automatisch entfernen, sobald Text eingegeben wird AWT, Swing, JavaFX & SWT 1
H AWT Fenster- und JLabel-Größe automatisch anpassen AWT, Swing, JavaFX & SWT 2
S Swing Automatisch 2px Rahmen in Windows 8 AWT, Swing, JavaFX & SWT 0
G Swing ComboBoxItem automatisch wählen AWT, Swing, JavaFX & SWT 4
B Swing Form undecorated: Beim Bewegen geht die Maus immer automatisch zur linken Seite. AWT, Swing, JavaFX & SWT 7
I JTable Spalten automatisch dem Inhalt anpassen! AWT, Swing, JavaFX & SWT 6
0 JTable Spaltenbreite automatisch an Inhalt anpassne geht nicht AWT, Swing, JavaFX & SWT 3
A combobox automatisch in ein textfeld wechseln AWT, Swing, JavaFX & SWT 3
K JSpinner in passender Breite erstellen oder automatisch anpassen AWT, Swing, JavaFX & SWT 2
C TextFeld in Verbindung zur ComboBox automatisch aktualisieren AWT, Swing, JavaFX & SWT 7
D JTable width automatisch anpassen AWT, Swing, JavaFX & SWT 4
R Swing Wie kann man Internal Frames automatisch ausrichten lassen? AWT, Swing, JavaFX & SWT 3
E JToggleButton automatisch nach drücken loslassen AWT, Swing, JavaFX & SWT 3
R Größe/Anordnung der Gui-Elemente automatisch? AWT, Swing, JavaFX & SWT 6
W Bildgröße automatisch an Komponenten anpassen AWT, Swing, JavaFX & SWT 3
B JScrollPane scrollt nicht immer automatisch AWT, Swing, JavaFX & SWT 2
C SWT-Elemente an View-Fenster angleichen und automatisch resizen AWT, Swing, JavaFX & SWT 3
B Fenstergröße automatisch skalieren AWT, Swing, JavaFX & SWT 7
C Textfeld automatisch befüllen AWT, Swing, JavaFX & SWT 6
R JTable: Spaltenbreite automatisch anpassen AWT, Swing, JavaFX & SWT 3
J SWT Dialog in Dialog automatisch öffnen AWT, Swing, JavaFX & SWT 19
W LayoutManager GridBag richtig nutzen - Komponenten richtig anordnen und automatisch vergrößern AWT, Swing, JavaFX & SWT 5
X JEditorPane Größe in JDialog automatisch anpassen AWT, Swing, JavaFX & SWT 2
U JComboBox automatisch zuklappen AWT, Swing, JavaFX & SWT 7
Y JCheckBoxen automatisch anlegen AWT, Swing, JavaFX & SWT 6
M Swing Eingabe auf JTextField automatisch ausgeben auf JLabel AWT, Swing, JavaFX & SWT 2
J Swing JList: Neue Zeilen mit fireIntervalAdded sind automatisch selektiert AWT, Swing, JavaFX & SWT 2
M LayoutManager JTextfield vergrößern sich automatisch AWT, Swing, JavaFX & SWT 4
T Swing Dialoginhalt automatisch anpassen während Größenänderung AWT, Swing, JavaFX & SWT 2
N ActionListener automatisch selektieren AWT, Swing, JavaFX & SWT 6
N JFrame mit Elementen an die Bildschirmgröße automatisch anpassen AWT, Swing, JavaFX & SWT 3
aze JTable automatisch vergrößern wenn das zugehörige JFrame vergrößert wird AWT, Swing, JavaFX & SWT 13
F Button soll automatisch geklickt werden AWT, Swing, JavaFX & SWT 3
R JSplitPane automatisch ausblenden AWT, Swing, JavaFX & SWT 13
H Schriftgröße automatisch an JLabel anpassen AWT, Swing, JavaFX & SWT 6
S JTable Float Column fuegt automatisch Punkt hinzu wenn man Zahlen eingibt. AWT, Swing, JavaFX & SWT 21
G SWT - TextFeld automatisch aktualisieren AWT, Swing, JavaFX & SWT 15
G JSplitPane unf JTable automatisch anpassen AWT, Swing, JavaFX & SWT 2
K JFrame + 2 Bildschirme -> automatisch auf einem Bildschir AWT, Swing, JavaFX & SWT 5
A Programm automatisch in den Vordergrund AWT, Swing, JavaFX & SWT 5
G jTable, spezille Zelle automatisch füllen AWT, Swing, JavaFX & SWT 13
S JList automatisch scrollen AWT, Swing, JavaFX & SWT 8
J JScrollPane soll automatisch zu einem punkt scrollen AWT, Swing, JavaFX & SWT 4
G Textarea soll automatisch mitrollen AWT, Swing, JavaFX & SWT 2
Z JTable automatisch zu einer Zeile scrollen AWT, Swing, JavaFX & SWT 4
S Frame grösse automatisch anpassen? AWT, Swing, JavaFX & SWT 1
K Automatisch einen Dialog schliessen AWT, Swing, JavaFX & SWT 15
J resize eines Bildes automatisch berechnen lassen? AWT, Swing, JavaFX & SWT 2
G Größe von SWT-Label automatisch anpassen AWT, Swing, JavaFX & SWT 5
D JTree - Knoten einfügen und automatisch in den Editiermodus AWT, Swing, JavaFX & SWT 2
S JScrollPane > JPanel - automatisch scrollen AWT, Swing, JavaFX & SWT 2
Z Java Applet Fenster automatisch an Bildschirmgröße anpassen AWT, Swing, JavaFX & SWT 4
T Datum in Textfeld automatisch formatieren AWT, Swing, JavaFX & SWT 8
R Tree automatisch öffnen AWT, Swing, JavaFX & SWT 7
N Tree automatisch öffnen AWT, Swing, JavaFX & SWT 2
G Wie schließen Fenster automatisch? AWT, Swing, JavaFX & SWT 12
S JCOntentPane ist automatisch groß? AWT, Swing, JavaFX & SWT 6
R JTable zu einem bestimmten Eintrag automatisch scrollen? AWT, Swing, JavaFX & SWT 2
S Namen von automatisch erzeugten JTextFields herausfinden… AWT, Swing, JavaFX & SWT 4
Z Column Breite in JTable automatisch an Inhalt anpassen AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben