Hallo zusammen,
ich schreibe gerade eine Anwendung in JavaFX und FXML.
Zunächst wird das Hauptfenster mit den Unterteilungen links (anchorLeft), mitte (anchorCenter), rechts (anchorRight) erstellt und angezeigt. In der Mitte wird beim Start der Anwendung ein Login-Formular angezeigt. Sobald sich der User angemeldet hat, wird das Loginfenster ausgeblendet (clear() ) und auf der Linken Seite soll das Hauptmenü angezeigt werden.
Nun zum Problem:
Ich habe für das Hauptmenü eine eigene FXML (menu_fxml) Datei erstellt, die ich dann beim erfolgreichen Login in den linken Teil des Fensters lade. Gibt es eine Möglichkeit den Inhalt von menu_fxml an die Größe des anchorLeft anzupassen? Oder gibt es eine elegantere Möglichkeit Elemente in das Hauptfenster nachzuladen? :rtfm:
Hier ist der Code, der das Menü nach dem Login läd:
ich schreibe gerade eine Anwendung in JavaFX und FXML.
Zunächst wird das Hauptfenster mit den Unterteilungen links (anchorLeft), mitte (anchorCenter), rechts (anchorRight) erstellt und angezeigt. In der Mitte wird beim Start der Anwendung ein Login-Formular angezeigt. Sobald sich der User angemeldet hat, wird das Loginfenster ausgeblendet (clear() ) und auf der Linken Seite soll das Hauptmenü angezeigt werden.
Nun zum Problem:
Ich habe für das Hauptmenü eine eigene FXML (menu_fxml) Datei erstellt, die ich dann beim erfolgreichen Login in den linken Teil des Fensters lade. Gibt es eine Möglichkeit den Inhalt von menu_fxml an die Größe des anchorLeft anzupassen? Oder gibt es eine elegantere Möglichkeit Elemente in das Hauptfenster nachzuladen? :rtfm:
Hier ist der Code, der das Menü nach dem Login läd:
Java:
@FXML
private void click_btnLogin(ActionEvent event) throws IOException{
System.out.println("Login");
if(getLogin(txtUsername.getText(), pwPassword.getText())) {
lblLeftStatus.setText(bean.getVorname() + " " + bean.getNachname());
anchorCenter.getChildren().clear();
anchorLeft.getChildren().clear();
Parent mainMenu = FXMLLoader.load(classLoader.getResource("de/wawi/menu/wawi_mainmenu.fxml"));
anchorLeft.getChildren().add(mainMenu);
}
}