2017-05-28 6 views
-1

Ich habe 2 .fxml Dateien (FXMLDocument.fxml/login.fxml) und eine Controller-Datei (FXMLDocumentController). Ich möchte FXMLDocument.fxml aus dem Controller entfernen und login.fxml dem Controller hinzufügen.Wie füge ich neue fxml Controller

Wenn ich die Hauptmethode aufrufen, möchte ich mit dem Login-Formular statt FXMLDocument.fxml aufgefordert werden.

Irgendeine Idee was passiert?

PS:login.fxml erstellt SceneBuilder verwenden.

+1

"Ich habe 2 FXML-Dateien und einen Controller". Nicht. Jede FXML-Datei sollte eine eigene Controller-Klasse haben. –

+0

kann es ersetzen? .i bedeutet 'FXMLDocument.fxml' wird von IDE.login.fxml erzeugt, die von mir erstellt wurde, indem ich den scene builder benutze. Ich möchte nicht geniale fxml-IDEs verwenden, anstatt meine login.fxml zu replizieren. – NicoleZ

+2

Entschuldigung, was fragst du? Was kann "ersetzen?" bedeuten? (Kann * was * ersetzen * was *?) Geben Sie einfach eine andere Controller-Klasse in jeder FXML-Datei an. –

Antwort

1

Sie müssen nicht die von Ihrer IDE generierte Standard-FXML-Datei verwenden. Hier ist eine einfache Steuerung, die login.fxml verwenden:

public class LoginController { 

    public LoginController(){ 
     try { 
      FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("login.fxml")); 
      fxmlLoader.setController(this); 
      fxmlLoader.load(); 
     } catch (IOException exception) { 
      System.out.println("Error loading content."); 
      System.exit(0); 
     } 
    } 

} 

Beachten Sie die Zeile mit FXMLLoader(getClass().getResource("login.fxml")). So fügen Sie eine FXML-Datei zu einem Controller hinzu.

Verwandte Themen