ich zerbreche mir gerade den Kopf darüber, wie ich, nachdem z.B. eine bestimmte Variable true gesetzt wurde, eine neue Java Datei im selben Fenster öffnen und direkt ausführen kann; in meinem Fall wäre die erste Java Datei ein Menü und die "verlinkte" sozusagen dann das eigentliche Programm (ein Spiel). Das Menü habe ich noch nicht geschrieben weil mir eben noch der Ansatz fehlt, das Spiel ist in einem JFrame geöffnet!
Hmm, keine Ahnung, ob ich das jetzt richtig verstanden habe. Du hast eine Anwendung, ein JFrame. Dort drin ein Menü, auf welches du klickst und dann in dem JFrame ein Spiel startet? Vielleicht brauchst du in dem JFrame ein CardLayout, mit dem du zwischen verschiedenen JPanel hin- und herwechseln kannst. Aber vielleicht musst du dein Problem auch nochmal genauer schildern...
Du kannst nicht einfach eine (beliebige) andere Java-Anwendung in deine Programm-GUI einbetten. Du müsstest eine Schnittstelle zwischen Spiel und deinem "GameLoader" (so in der Art verstehe ich dein Programm jetzt) definieren, und die Daten vom Spiel über einen Stream in dein Programm bringen. Ist ziemlich aufwendig.
Einfacher wäre es, das Spiel durch dein Programm lediglich zu starten (in seinem eigenen Fenster). Das geht nämlich mit einem Einzeiler.
Ich erkläre mal genauer was mein Ziel ist (wenn es sich so umsetzen läst): Ein Spiel zu machen, dass aus 3 Dateien besteht: Menü, Singleplayer, Multiplayer. Über das Menü soll man die anderen Dateien, also das eigentliche Spiel, im selben Fenster aufrufen können. Die eigentlichen Spielmodi sind schon größtenteils fertig und werden per JFrame angezeigt. Wie diese Verknüpfung zwischen Menü und Spiel zu bewerkstelligen ist, weiß ich allerdings nicht!
Ich könnte sicherlich auch alles in einen Code stecken, aber das wäre dann der letzte Ausweg
Wir bräuchten da wohl noch ein paar Infos mehr. Was sind denn die Dateien Singleplayer und Multiplayer? Handelt es sich dabei um JPanel, in denen das Spiel stattfindet? Dann kannst du die doch einfach dem JFrame hinzufügen. Und wodurch unterscheiden sich Singleplayer und Multiplayer? Vielleicht lassen die sich ja evtl. zusammenfassen bzw. jeweils mit anderen Parametern starten, wenn es sich um das gleiche Spiel handelt, aber nur mit einer unterschiedlichen Anzahl an Spielern spielen lässt. Ansonsten, wenn du unterschiedliche Spielpanel in deine Anwendung (JFrame) stecken willst, empfehle ich das CardLayout.
Das Menü hast du ja normalerweise im JFrame gesetzt, in einer JMenuBar. Dort kannst du dann z.B. mit ActionListener den Menüpunkten Aktionen zuweisen.
Na, dann schalt doch in deiner Startklasse mit der main-Methode ein JDialog oder ein JWindow vor, in dem du einen der beiden Modi auswählen kannst. Den ausgewählten Wert übernimmst du dann, startest deinen JFrame und übergibst diesem den Wert. Dann startest du je nach Auswahl den gewünschten Modus. Ich würde das in einem JFrame machen und je nach Modus das Spiel anders initialisieren und starten.
Ich habe mich mal kurz zu JWindow bzw. JDialog informiert: Wenn ich es richtig verstanden habe öffne ich dann aber ein 2. Fenster, welches mein Menü enthält; das möchte ich aber vermeiden!
Hmm, irgendwie schwer nachzuvollziehen, was du nun wirklich willst. Wenn du das graphische Menü nicht als eigenes Fenster haben willst, dann setz es doch in ein JPanel und zeig das im JFrame an.
Am leichtesten ist es wohl wenn du eine kleine Skizze malst, wie das aussehen soll. Dann entstehen keine Missverständnisse und wir wissen ganz konkret was du willst. Entsprechend kann man dann auch eine passende Lösung vorschlagen.
Mittlerweile habe ich das Problem selbst gelöst, indem ich mein Auswahlmenü in den Gameloop gepackt habe und es je nach Bedarf anzeigen lasse. Trotzdem danke für eure Hilfsbereitshaft!