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-Key: 639681

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

Printed on: May 18, 2024 at 17:05 o'clock

Member: Pjordorf
Pjordorf Jan 11, 2021 at 20:10:06 (UTC)
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
Mitglied: 98204
98204 Jan 11, 2021 at 22:12:50 (UTC)
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.
Member: maretz
maretz Jan 12, 2021 at 06:19:25 (UTC)
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.