Zweites/neues Fenster durch Button öffnen

wolfin96

Mitglied
Hallo zusammen, bin bei dem Thema JavaFX noch total unerfahren und bin nun auf ein Problem gestoßen:
Die Idee ist generell, dass sich beim Start des Programms zuerst ein Fenster (hier beispielhaft: "Start.fxml") öffnet. In diesem Fenster soll es ein Eingabefeld und einen Button zur Bestätigung der Eingabe geben. Nach bestätigen der Eingabe soll sich nun ein neues Fenster öffnen bzw. die nächste Oberfläche zeigen (hier bespielhaft: "WeiterGehts.fxml"). Nun habe ich wie unten zu sehen probiert, das über eine neue Scene im Eventhandler umzusetzen, das klappt jetzt aber leider irgendwie nicht...
Sieht jemand den Fehler in meinem Code oder hat eine Idee wie man die Idee umsetzen könnte?
Danke schon mal für eure Hilfe!

Java:
    @Override
    public void start(Stage primaryStage) {
        try {
            
            Parent root = FXMLLoader.load(getClass().getResource("Start.fxml"));
            Parent root1 = FXMLLoader.load(getClass().getResource("WeiterGehts.fxml"));
            
            button = new Button();
            button.setText("klicken");
            button.setOnAction(new EventHandler<ActionEvent>() {
                
                @Override
                public void handle(ActionEvent event) {
                
                    Scene scene2 = new Scene(root1);
                    scene2.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
                    primaryStage.setScene(scene2);
                    primaryStage.show();
                }
            });
            
            Scene scene = new Scene(root);
            scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
            primaryStage.setScene(scene);
            primaryStage.show();
        } catch(Exception e) {
            e.printStackTrace();
        }
        }
}
 

missy72

Bekanntes Mitglied
Wenn du eine FXML-Datei erzeugst, warum erzeugst du den Button separat? Aber o.K.

1. Du muss das Objekt der Klasse richtig erstellen. Gibt deine IDE keine Fehlermeldung aus?
Java:
Button button = new Button();
2. In der vererbenen Klasse Parent kannst du keine weiteren Objekte zufügen.
Nimm die Superklasse der der LayoutKlassen.
https://docs.oracle.com/javase/8/javafx/api/javafx/scene/layout/Pane.html
Java:
Pane root = FXMLLoader.load(getClass().getResource("Start.fxml"));
4. Dann musst du deinen Button dem Layout noch zufügen.(nach Zeile 9)
Java:
root.getChildren().add(button);
 

missy72

Bekanntes Mitglied
PS: Zeile 18 kannst du dir sparen und Zeile 8 und 9 zusammenlegen.
Java:
Button button = new Button("klicken");
 

wolfin96

Mitglied
Danke für die Antwort! Habe es ausprobiert und es läuft jetzt. Hab jetzt auch eine deutlich ordentlichere Variante in Kombination mit dem Scenebuilder gefunden. Der Code von vorhin war noch etwas sehr chaotisch und ein Misch Masch aus beidem, saß vorhin wohl zu lange vor dem Bildschirm...
 

lam_tr

Top Contributor
Hallo zusammen, bin bei dem Thema JavaFX noch total unerfahren und bin nun auf ein Problem gestoßen:
Die Idee ist generell, dass sich beim Start des Programms zuerst ein Fenster (hier beispielhaft: "Start.fxml") öffnet. In diesem Fenster soll es ein Eingabefeld und einen Button zur Bestätigung der Eingabe geben. Nach bestätigen der Eingabe soll sich nun ein neues Fenster öffnen bzw. die nächste Oberfläche zeigen (hier bespielhaft: "WeiterGehts.fxml"). Nun habe ich wie unten zu sehen probiert, das über eine neue Scene im Eventhandler umzusetzen, das klappt jetzt aber leider irgendwie nicht...
Sieht jemand den Fehler in meinem Code oder hat eine Idee wie man die Idee umsetzen könnte?
Danke schon mal für eure Hilfe!

Java:
    @Override
    public void start(Stage primaryStage) {
        try {
           
            Parent root = FXMLLoader.load(getClass().getResource("Start.fxml"));
            Parent root1 = FXMLLoader.load(getClass().getResource("WeiterGehts.fxml"));
           
            button = new Button();
            button.setText("klicken");
            button.setOnAction(new EventHandler<ActionEvent>() {
               
                @Override
                public void handle(ActionEvent event) {
               
                    Scene scene2 = new Scene(root1);
                    scene2.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
                    primaryStage.setScene(scene2);
                    primaryStage.show();
                }
            });
           
            Scene scene = new Scene(root);
            scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
            primaryStage.setScene(scene);
            primaryStage.show();
        } catch(Exception e) {
            e.printStackTrace();
        }
        }
}
An sich muss du hier beim Öffnen einer neuen Scene in eine neue Stage verpacken, in den primaryStage würde so nicht gehen.
 

missy72

Bekanntes Mitglied
"soll sich nun ein neues Fenster öffnen"
Stimmt hatte ich überlesen. dann brauchst du natürlich eine secondaryStage.
 

Jamil

Mitglied
Ich glaube, dass man das eher objektorientiert umsetzen sollte
Bei etwas umfangreicheren Programmen könntest du deine Buttons auch auf diese Weise mit Funktionen verknüpfen

z.B
btn.setOnMouseClicked(event -> login());

public void login(){
Loginbereich login = new LoginBereich(scene);
login.start();
// alte Stage dann schließen mit close()
}
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
platofan23 JAVAFX zweites Fenster öffnen AWT, Swing, JavaFX & SWT 2
L Java- UI zweites Fenster aus einer anderen Klasse öffnen durch ButtonClick AWT, Swing, JavaFX & SWT 4
L Zweites Fenster mit Thread AWT, Swing, JavaFX & SWT 0
G Swing zeichnet zweites Fenster nicht AWT, Swing, JavaFX & SWT 3
S Fehler beim Zweites 3D Bild AWT, Swing, JavaFX & SWT 2
I Swing Ominoeses "zweites" JTextField AWT, Swing, JavaFX & SWT 2
N Listener auf zweites JFrame AWT, Swing, JavaFX & SWT 2
G JavaFX Code in neues Projekt übernehmen AWT, Swing, JavaFX & SWT 0
W Clear Canvas und anschließendes neues Erstellen von Objekten auf Canvas aus ArrayList AWT, Swing, JavaFX & SWT 4
B JavaFX TextField Eingabe in neues Fenster übernehmen AWT, Swing, JavaFX & SWT 4
O Kann kei neues Panel zum zeichnen aufrufen... AWT, Swing, JavaFX & SWT 4
J Overlay Panel statt neues Fenster AWT, Swing, JavaFX & SWT 6
X Neues Fenster mit Button öffnen und bearbeiten AWT, Swing, JavaFX & SWT 4
M Swing Durch Usereingabe neues Objekt AWT, Swing, JavaFX & SWT 2
D Swing Neues (3.) Fenster öffnen AWT, Swing, JavaFX & SWT 2
S Mit JButton neues Fester öffnen und das alte schließen AWT, Swing, JavaFX & SWT 3
S SWT neues Fenster, buttons aus alten etc... AWT, Swing, JavaFX & SWT 0
J Panel auf Frame löschen und neues Panel Hinzufügen AWT, Swing, JavaFX & SWT 4
G Event Handling TableView daten in ein neues Fenster herauslesen? AWT, Swing, JavaFX & SWT 3
C Benutzername in GUI eingeben und nach Spiel neues Fenster Benutzername wieder anzeigen AWT, Swing, JavaFX & SWT 1
C Durch klicken von Button neues Fenster oeffnen AWT, Swing, JavaFX & SWT 18
B JavaFX ImageView neues Bild zuweisen AWT, Swing, JavaFX & SWT 19
I Neues JFrame wird nicht richtig angezeigt AWT, Swing, JavaFX & SWT 5
S JavaFX Teil eines Bildes ausschneiden / als neues Bild nutzen AWT, Swing, JavaFX & SWT 8
D Mit Klick auf Button ein neues Fenster erzeugen AWT, Swing, JavaFX & SWT 11
D Neues Dialog Mittig auf dem Bildschirm AWT, Swing, JavaFX & SWT 4
I JTable: Doppelklick auf Table soll neues Fenster öffnen und Daten aus JTable anzeigen AWT, Swing, JavaFX & SWT 4
K Java Button öffnet neues Fenster AWT, Swing, JavaFX & SWT 5
D Swing Bei Button Click neues Panel laden AWT, Swing, JavaFX & SWT 3
X Swing Ein neues Fenster öffen aber ohne ein extra Prozess zu starten AWT, Swing, JavaFX & SWT 1
J JTable Zeile anklicken und neues Frame öffnen AWT, Swing, JavaFX & SWT 4
G JavaFX Neues Fenster erstellen AWT, Swing, JavaFX & SWT 3
A Swing GUI mit ComboBox, wenn Item ausgewählt wurde neues GUI AWT, Swing, JavaFX & SWT 7
W Neues TableModel und JTable wird nicht refreshed AWT, Swing, JavaFX & SWT 3
Wirago Swing neues Fenster nicht sichtbar AWT, Swing, JavaFX & SWT 6
D Neues Frame öffnen - und dazu altes schließen AWT, Swing, JavaFX & SWT 5
A JComboBox-Inhalt durch neues Array ersetzen AWT, Swing, JavaFX & SWT 2
GianaSisters AWT Per Button neues Element auf den jPanel setzen AWT, Swing, JavaFX & SWT 6
J Mit Button neues Fenster öffnen AWT, Swing, JavaFX & SWT 17
B Warten bis neues ImageIcon zugewiesen ist AWT, Swing, JavaFX & SWT 3
J jme neues projekt öffnen AWT, Swing, JavaFX & SWT 4
T neues Fenster durch Button öffnen funktioniert nicht!! AWT, Swing, JavaFX & SWT 2
H Applet JApplet soll neues Tab im Browser öffnen AWT, Swing, JavaFX & SWT 2
X Swing Neues Fenster erzeugen AWT, Swing, JavaFX & SWT 3
M Swing jcombobox als jtable-editor: neues Item auswählen AWT, Swing, JavaFX & SWT 4
O Button (ActionPerformed) soll neues JFrame erzeugen AWT, Swing, JavaFX & SWT 8
Dit_ Mit Button "Weiter" neues Panel laden, altes ausblenden... AWT, Swing, JavaFX & SWT 4
H Swing [gelöst]Neues Swing Element erstellen AWT, Swing, JavaFX & SWT 4
H Swing neues fenster AWT, Swing, JavaFX & SWT 2
D Neues Java Fenster öffnen AWT, Swing, JavaFX & SWT 2
G JList und ein neues Element oben in der Liste einfügen AWT, Swing, JavaFX & SWT 4
N Durch Button drücken neues Fenster öffnen AWT, Swing, JavaFX & SWT 13
I Applet --> neues Fenster öffnen AWT, Swing, JavaFX & SWT 11
N Threads kein neues Fenster erzeugen lassen AWT, Swing, JavaFX & SWT 4
F neues Fenster öffnen AWT, Swing, JavaFX & SWT 2
N in jScrollPane, neues Swing Element hinzufügen AWT, Swing, JavaFX & SWT 6
T Jbutton geklickt, dann neues Fenster AWT, Swing, JavaFX & SWT 4
S Neues Panel in JFrame anzeigen durch Button klick AWT, Swing, JavaFX & SWT 2
M Will ein neues Fenster AWT, Swing, JavaFX & SWT 13
D Neues JPanel ohne Symbolleisteneintrag AWT, Swing, JavaFX & SWT 6
G JButton benutzen um ein neues JFrame zu erstellen AWT, Swing, JavaFX & SWT 3
J Problem: neues Fenster bei dispose öffnen AWT, Swing, JavaFX & SWT 8
M neues Frame per klick anzeigen AWT, Swing, JavaFX & SWT 9
M Neues Programm? AWT, Swing, JavaFX & SWT 20
G Neues Frame über Button öffnen lassen AWT, Swing, JavaFX & SWT 15
S MVC - Neues Frame, neue View, neuer Controller? AWT, Swing, JavaFX & SWT 3
hamburger_jung Mit Button Klick neues Fenster öffnen. AWT, Swing, JavaFX & SWT 1
G Neues Model für JTextField erstellen AWT, Swing, JavaFX & SWT 8
M fortführung neues Bild laden AWT, Swing, JavaFX & SWT 12
M neues Bild laden AWT, Swing, JavaFX & SWT 15
V JOptionPane neues outfit mit BasicOptionPaneUI? AWT, Swing, JavaFX & SWT 22
J JList - doppelklick auf item -> neues fenster öffnet sich AWT, Swing, JavaFX & SWT 2
M Neues Fenster öffnen AWT, Swing, JavaFX & SWT 2
D in neues Image-Objekt zeichnen AWT, Swing, JavaFX & SWT 3
G JTree. Neues Element hinzufügen und Selection beibehalten! AWT, Swing, JavaFX & SWT 3
M Tooltip / neues Fenster AWT, Swing, JavaFX & SWT 6
J Neues Problem AWT, Swing, JavaFX & SWT 9
M suche geeignetes Fenster zur Anzeige AWT, Swing, JavaFX & SWT 49
berserkerdq2 Kann ich ein Rechteck mittig im Fenster halten, egal wie ich die Bildschirmgröße verändere? AWT, Swing, JavaFX & SWT 3
W 2 JTables in einem Swing-Fenster? AWT, Swing, JavaFX & SWT 5
berserkerdq2 Wie füge ich ein Bild in javafx mit dem Scenebuilder ein, das automatisch mitgezogen wird, wenn das Fenster vergrößert wird oder Vollbildmodus AWT, Swing, JavaFX & SWT 6
TheSepp Fenster um x Pixel bewegen, wenn man auf dem Knopf drückt AWT, Swing, JavaFX & SWT 10
J JavaFx PDF in einem Element in einem Fenster anzeigen. AWT, Swing, JavaFX & SWT 11
K JavaFX unterschiedliche (mehrere Fenster) in seperater Main Methode AWT, Swing, JavaFX & SWT 26
_user_q Kann man ein 2. JavaFX-Fenster auch beenden (exit) statt schließen (close) lassen? AWT, Swing, JavaFX & SWT 8
L Swing Files abspeichern mit Save as Dialog Fenster AWT, Swing, JavaFX & SWT 5
OZAN86 einfaches Fenster öffnen scheitert AWT, Swing, JavaFX & SWT 18
G Zuletzt aktives Fenster, vor dem aktuell aktiven AWT, Swing, JavaFX & SWT 2
sserio Kann man bei JavaFx ein Fenster aufkommen lassen? AWT, Swing, JavaFX & SWT 1
Z GUI Forms - Mehrere Fenster in einem Projekt AWT, Swing, JavaFX & SWT 18
S Swing Alles beenden bei Fenster mit Scroll-Balken AWT, Swing, JavaFX & SWT 6
CptK windowClosed() nur aufrufen, wenn Fenster nicht über Button geschlossen wird AWT, Swing, JavaFX & SWT 1
CptK Fokus auf geöffnetes Zweit-Fenster setzen und Eingaben außerhalb blocken AWT, Swing, JavaFX & SWT 2
B Text mit Absatz + OK-Button, der Fenster wieder schließt AWT, Swing, JavaFX & SWT 7
MiMa JavaFX Fenster in JavaFX öffnen Schliessen (Initialisierung) AWT, Swing, JavaFX & SWT 20
N Kontextmenü (Popup-Fenster) erstellen AWT, Swing, JavaFX & SWT 3
L Hintergrundbild im Fenster darstellen AWT, Swing, JavaFX & SWT 9
P JavaFX Fenster wird nicht angezeigt (Mac) AWT, Swing, JavaFX & SWT 13
VPChief Buttons Reagieren erst wenn ich Fenster minimiere AWT, Swing, JavaFX & SWT 4
N Drag and Drop Fenster AWT, Swing, JavaFX & SWT 11

Ähnliche Java Themen

Neue Themen


Oben