Ich habe ein JFrame, welches bei Klick auf einen Button von einer GlassPane überdeckt werden soll. Zusätzlich soll eine längere Berechnung durchgeführt werden. Wenn ich nun die GlassPane sichtbar mache, so wird sie erst nach der Berechnung angezeigt, anstatt bereits davor. Die Aufrufreihenfolge ist dabei die Folgende:
Dies will wie gesagt nicht funktionieren. Die GlassPane wird erst angezeigt, wenn der 10 sekündige Thread fertig ist und dann sofort wieder ausgeblendet wegen des setVisible(false).
Wie kann ich nun erzwingen, dass der Warte-Thread erst dann ausgeführt wird, wenn die GlassPane angezeigt wird?
Code:
getGlassPane().setVisible(true);
// simuliere die lange Berechnung...
try{
Thread.sleep(10000);
}
catch(...){}
getGlassPane().setVisible(false);
Dies will wie gesagt nicht funktionieren. Die GlassPane wird erst angezeigt, wenn der 10 sekündige Thread fertig ist und dann sofort wieder ausgeblendet wegen des setVisible(false).
Wie kann ich nun erzwingen, dass der Warte-Thread erst dann ausgeführt wird, wenn die GlassPane angezeigt wird?