Hi,
ich habe hier ein sehr merkwürdiges Verhalten meiner Anwendung.
Ich habe ein "MainFrame" (JFrame) das ich bei Anwendungsstart öffne. Wähle ich nun in diesem Frame einen Menupunkt aus, so erstelle ich einen Controller nennen wir ihn "ActionController" und der öffnet ein neues JFrame "ActionFrame". Dieser Controller muss zunächst Daten laden. Deshalb öffne dfer Controller wiederum ein weiteres JFrame nennen wir es "CancelFrame" welches einen Langzeitbalken und einen CancelButton enthält. Dieses Cancelframe bekommt noch das alwaysOnTop Attribut. Nach dem Öffnen des CancelFrames starte ich einen Swingworker, welcher die Daten läd. Ist der Worker fertig, so ruft die done() Methode des Workers ein Methode dataloaded() in meinem ActionController auf. Dieser schließt nun das CancelFrame mit
Das close im cancelDialog macht einfach nur ein
In dem Moment schließt sich das CancelFrame und das MainFrame kommt in den Vordergrund und überdeckt das ActionFrame, welches vorher noch vor dem MainFrame war.
Selbst wenn ich nach dem canclDialog.close() noch ein actionFrame.toFront() mache, kommt trotzdem das MainFrame nach vorne.
Woran kann das liegen. Wie kann ich das debuggen?
Jede Anregung ist herzlich willkommen.
Gruß
Claus
ich habe hier ein sehr merkwürdiges Verhalten meiner Anwendung.
Ich habe ein "MainFrame" (JFrame) das ich bei Anwendungsstart öffne. Wähle ich nun in diesem Frame einen Menupunkt aus, so erstelle ich einen Controller nennen wir ihn "ActionController" und der öffnet ein neues JFrame "ActionFrame". Dieser Controller muss zunächst Daten laden. Deshalb öffne dfer Controller wiederum ein weiteres JFrame nennen wir es "CancelFrame" welches einen Langzeitbalken und einen CancelButton enthält. Dieses Cancelframe bekommt noch das alwaysOnTop Attribut. Nach dem Öffnen des CancelFrames starte ich einen Swingworker, welcher die Daten läd. Ist der Worker fertig, so ruft die done() Methode des Workers ein Methode dataloaded() in meinem ActionController auf. Dieser schließt nun das CancelFrame mit
Code:
if(cancelDialog != null)
cancelDialog.close();
cancelDialog = null;
Das close im cancelDialog macht einfach nur ein
Code:
if(frame != null)
frame.setVisible(false);
In dem Moment schließt sich das CancelFrame und das MainFrame kommt in den Vordergrund und überdeckt das ActionFrame, welches vorher noch vor dem MainFrame war.
Selbst wenn ich nach dem canclDialog.close() noch ein actionFrame.toFront() mache, kommt trotzdem das MainFrame nach vorne.
Woran kann das liegen. Wie kann ich das debuggen?
Jede Anregung ist herzlich willkommen.
Gruß
Claus