98204
Goto Top

Java: GUI aktualisiert nicht

Hallo zusammen,

ich will eine Applikation programmieren in der eine Anzeige berechnet wird. Die Anzeige wird in einer Schleife immer wieder neu berechnet bis "Stop" gedrückt wird. Zwischen den Neuberechnungen habe ich eine Zeitverzögerung eingebaut.

// .....
boolean bStopped = false;
do {
	bStopped = Calculation.new_calculate(); // Calculation and display the result
	SwingUtilities.invokeLater(new MyDelay());
} while (!bStopped); //  

// .....

class MyDelay extends SwingWorker {

	@Override
	protected Object doInBackground() throws Exception {
		try {
    		      TimeUnit.SECONDS.sleep(5);
    	        } catch (InterruptedException e) {
    		     e.printStackTrace();
    	        }
	  return null;
	}
}

Problem: Die GUI sollte sich nach jeder Iteration aktualisieren (deswegen der SwingWorker). Das tut sie aber nicht.
Hat jemand eine Idee wie man das fixen kann?

Danke im voraus
Internetter

Content-ID: 639681

Url: https://administrator.de/contentid/639681

Ausgedruckt am: 24.11.2024 um 10:11 Uhr

Pjordorf
Pjordorf 11.01.2021 um 21:10:06 Uhr
Goto Top
Hallo,

Zitat von @98204:
ich will eine Applikation programmieren in der eine Anzeige berechnet wird. Die Anzeige wird in einer Schleife immer wieder neu berechnet bis "Stop" gedrückt wird. Zwischen den Neuberechnungen habe ich eine Zeitverzögerung eingebaut.
Wie viele FPS macht das ganze und wie langsam guckst du?

Gruß,
Peter
98204
98204 11.01.2021 um 23:12:50 Uhr
Goto Top
Eine Berechnung braucht max. 1 Sekunde und ich habe erst einmal 2 Sekunden Zeitverzögerung nach jeder Schleife eingebaut damit ich die Veränderungen sehe.
maretz
maretz 12.01.2021 um 07:19:25 Uhr
Goto Top
Nun - warum sollte es denn ein Refresh machen? Da gibt es weder revalidate noch repaint noch irgendeine andere Funktion die dein Fenster aufräumen würde.