JFrame durch Button in anderem JFrame öffnen

erazor2106

Bekanntes Mitglied
Hallo,

und zwar habe ich 3 Programme geschrieben, wobei jedes aus einem JFrame besteht und auch eigenständig läuft. Nun möchte ich eines davon als "Hauptprogramm" ausweisen, und dort mittels 2 Buttons das eine bzw. andere Programm öffnen können, um dann parallel in den 2 bzw. 3 Fenstern arbeiten zu können.
Wie lässt sich das denn bewerkstelligen und müssen die beiden anderen JAVA-files im selben ordner oder unteordner liegen?
 
so wie ich das sehe hast du 2 optionen

1. die 3 programme liegen im selben projekt / order / unterordner. wenn dem so ist, werden die 3 programme wohl jeweils eine main-methode haben, die irgend etwas macht, dass später zum jframe.setvisible(true) führen (also die jeweiligen JFrames anzeigen). dann kannst du ganz einfach in dem "hauptprogramm" bei den 2 buttons die die anderen beiden programme starten sollen als ActionListener die selbe "logik" reinkopiere, wie die main-methoden der anderen beiden Programme haben (die dann jeweils ihre eigenen JFrame's initialisieren und starten / anzeigen)

2. die 3 programme liegen nicht im selben ordner und du willst es auch nicht kopieren. dann könnte ich mir vorstellen dass du nicht "einfach" die klassen instanzierst und startest (wie die main), sondern per ProcessBuilder einen neuen prozess startest, der dir dann eben die beiden JFrames (als wirklich komplett vom hauptprogramm getrennte programme) startet.
diese 2. möglichkeit hat den nachteil dass du probleme haben könntest aus dem hauptfenster die unter-fenster wieder zu schließen bzw mit ihnen zu kommunizieren (klar, würde per sockets und sowas gehn, wäre aber meiner Meinung nach viel eleganter wenn sie im selben projekt wären, sprich du methode 1 nehmen würdest 😉 )

greetz
 
Hey, danke der Tipp war richtig gut.

Werd jetzt nur noch versuchen mit einzubauen, dass falls ich das Unterprogramm in einem neuem JFrame schon geöffnet habe und noch einmal auf den Button klicke, es nicht noch einmal geöffnet wird.
und zweitens, dass falls ich das Unterprogramm schließe, nicht auch das Hauptprogramm beendet wird
 

Zurück
Oben