[Java] .java File öffnen

09/27/2015 14:28 panic'#1
Hallo,

ich bin gerade dabei ein Programm zu schreiben. Der erste Teil klappt wunderbar, jetzt bei dem zweiten Teil klappt es leider nicht so.

Ich arbeite mit Java Eclipse Mars.. Ich habe mir eine GUI erstellt, und will jetzt, nachdem ich auf einen bestimmten Button gedrückt habe, dass sich eine neue GUI öffnet. Diese GUI befindet sich aber in einer anderen .java File.

Sprich ich habe GUI1.java und GUI2.java und wenn ich jetzt im GUI1 auf den Button klicke, soll sich GUI2 öffnen. Das sich die erste GUI dabei schließt, habe ich hinbekommen, aber es öffnet sich die andere nicht.
Bei Google habe ich irgendwie nichts gefunden, oder ich benutze die falschen Begriffe. Ich habe nämlich versucht das untern Class in Class und Open Class in Class gegooglt.. :/

Hat da jemand eventuell einen Codeschnipsel? :D
09/27/2015 14:53 algernong#2
new GUI2().setVisible(true) ?
09/27/2015 14:57 panic'#3
Quote:
Originally Posted by algernong View Post
new GUI2().setVisible(true) ?
Ne klappt leider net :/
09/27/2015 16:44 Zunft#4
Code:
GUI2 gui = new GUI2();
gui.setVisible(true);

this.dispose();
09/27/2015 17:38 algernong#5
Wieso klappt das nicht? Fehler? Passiert nichts? Erbt GUI2 von JFrame (sofern du Swing verwendest)?
09/27/2015 20:27 Zunft#6
Quote:
Originally Posted by algernong View Post
Wieso klappt das nicht? Fehler? Passiert nichts? Erbt GUI2 von JFrame (sofern du Swing verwendest)?
Vermutlich weil keine Instanz von GUI2 erstellt wurde
09/27/2015 21:18 algernong#7
In meinem Vorschlag wurde eine Instanz erstellt:
Quote:
new GUI2().setVisible(true) ?
09/27/2015 22:52 Zunft#8
Was auch noch sein könnte ist, dass zuerst .dispose() aufgerufen wurde ohne ein neuen JFrame zu initialisieren. Dadurch kann unter Umständen die VM beendet werden.
09/28/2015 21:53 .SkyneT.#9
Quote:
Originally Posted by panic' View Post
Hat da jemand eventuell einen Codeschnipsel? :D
Wie wärs mit nem Codeschipsel für uns? Du siehst ja in was für eine Raterei das hier ausartet :)

Quote:
Bei Google habe ich irgendwie nichts gefunden, oder ich benutze die falschen Begriffe. Ich habe nämlich versucht das untern Class in Class und Open Class in Class gegooglt.. :/
Warum googelst du auch etwas komplett anderes als du haben willst.

Das hier willst du doch machen:
Quote:
Sprich ich habe GUI1.java und GUI2.java und wenn ich jetzt im GUI1 auf den Button klicke, soll sich GUI2 öffnen.
Ich sage dir einfach mal, wie ich das gegoogelt hätte.
Als erstes mal das ganze in englisch übersetzen (ist hoffentlich kein problem), danach am Anfang die Programmiersprache hinzufügen, und noch ein paar relevante Klassennamen einfügen:
"Java open jframe with button click"
Stackoverflow ist immer ne gute Anlaufstelle, wenn das auch noch zu kompliziert ist, Youtube-Videos (diese aber mit Vorsicht genießen)
11/11/2015 16:53 IceFear#10
Du öffnest nicht das .java File, sondern du willst in GUI1 eine Instanz der Klasse GUI2 erstellen und das Attribut IsVisible dieser Instanz, wie bereits oben erklärt, mithilfe von setVisible(true) auf True setzen. Dadurch sollte dann das Fenster sichtbar werden.
Der Name der java Datei muss nicht gleichzeitig der Klassenname sein. Der Klassenname wird in der Datei GUI2.java mit public class GUI2{...} definiert und die Klasse ist danach über den Klassennamen zu erreichen. Du kannst auch mehrere Klassen in einer .java Datei Definieren.

Wenn du deinen Code uploadest, könnten wir auch eine Lösung für dein Problem finden.

Edit: Sorry fürs hochpushen, hab nicht gesehen, dass das Java Forum so ausgestorben ist. :-D
11/16/2015 09:07 Mi4uric3#11
Welche Frontendtechnologie verwendest du denn überhaupt? AWT, Swing, JavaFX?
Wenn du Hilfe haben willst musst du schon ein bisschen Auskunft über das geben, was du da tust.