zugriff aufs Hauptfenster

Bullitt

Mitglied
Hallo!
Dieses Mal ein Swing-Problem. (Bin ich der einzige, der hier im Moment Fragen stellt?) :)
Ist vielleicht etwas kompliziert:

Ich rufe die Main-Methode einer fremden Swing-Applikation in der Main-Methode meines Programms auf, um die Applikation praktisch in meinem "Rahmen" laufen zu lassen. Sieht ungefär so aus:

Code:
Class MyTestApp {
    public static void main(String[] args) {
        SwingApp.main(null);
        ...
    }
}
Jetzt möchte ich für meine Zwecke eine Referenz auf das Hauptfenster der Swing-App. bekommen, welches ja privat sein kann und dessen Namen ich auch nicht kenne, bzw. auf den Komponenten-Baum. Unter keinen Umständen möchte ich irgendwie in den Code der Swing-App. eingreifen.
Geht das überhaupt? Gibt es in Java einen Mechanismus, auf das Hauptfenster zuzugreifen? Mein Testprog und die SwingApp laufen ja so auf der selben VM, deshalb müsste das doch irgendwie klappen?
Habs schon mit dem Toolkit versucht, aber damit ist irgendwie kein drankommen.
Für Hilfe oder Ideen wäre ich dankbar...
 
Erstelle eine neue Instanz der Klasse:
Code:
Class MyTestApp {
    public static void main(String[] args) {
        SwingApp swingApp = new SwingApp();
        ...
    }
}
Dann kannst du über swingApp.methodenName() oder swingApp.variablenName auf die einzelnen Methoden oder Eigenschaften zugreifen, sofern diese öffentlich sind.

Ist es das was du gemeint hast ?
 
Hallo!
Nicht ganz. Das Hauptfenster kann ja auch private sein. In den meisten Fällen ist es das wohl.
Ich hab aber schon eine Lösung. Mit:
Frame[] frames = Frame.getFrames();
bekomme ich ein Array mit allen Frames, die die Applikation erzeugt hat. Jetzt brauche ich nur noch überprüfen, welches davon vom Typ JFrame ist und keine Parents hat. Das müsste dann das oberste Hauptfenster sein.
Aber danke für dein Interesse.
Gruß, Bullitt...
 

Neue Beiträge

Zurück