Ich bin auf der Suche nach einem Ort, an dem Code angehängt wird, um programmgesteuert JPanel nach dem Laden der Anwendung zu erstellen, zu skalieren und zu positionieren.Welches Java Swing-Ereignis kann verwendet werden, um zu wissen, wann die Anwendung beendet wurde?
Ich fange gerade mit Java an. Ich benutze NetBeans 6.5.1 mit jdk1.6.0_13. Ich habe den neuen Projekt-Assistenten verwendet, um eine grundlegende Java/Swing-Desktop-Anwendung zu erstellen. Dies ist eine SingleFrameApplication, die ein FrameView mit einem zentralen Haupt-JPanel verwendet, in dem alle UI-Elemente platziert sind.
Ich habe zuerst meinen Code im FrameView-Konstruktor versucht, aber wenn ich versuche, mein JPanel basierend auf dem Begrenzungsrechteck einer der Entwurfszeitsteuerelemente, die ich der Benutzeroberfläche hinzugefügt habe, anzuordnen, ist das Steuerelement noch nicht fertig positioniert und so dimensioniert Ich bekomme nur Nullen für die Koordinaten.
Ich habe überprüft, dass mein Code wie erwartet funktioniert, indem ich ihn von einem Klick-Ereignis aus aufrufen, nachdem die Anwendung geladen wurde. Mein Problem besteht darin, einen Weg zu finden, wann alles fertig ist.
Ich habe auch versucht, das ComponentShown-Ereignis aus dem Haupt-JPanel, aber ich später gelesen, dass nur ausgelöst wird, wenn setVisible explizit aufgerufen wird, die anscheinend nicht während des normalen Anwendungsstart erfolgt.
Kann jemand einige Hinweise zur Verfügung stellen? Vielen Dank.
Update:
Zusätzlich zu dem, was ich unten in meiner Antwort erwähnt, habe ich auch über die Application.ready() -Methode lesen. Dies wäre auch ein Zeitpunkt von Interesse, um zu wissen, wann der UI-Teil einer Anwendung fertig ist, alles zu tun, was zu tun ist. Die Kommunikation mit meiner Ansicht aus der Anwendung schien jedoch ein wenig chaotisch.
+1 für detaillierte Antwort – Freak