簡體   English   中英

在主fxml文件中加載fxml文件

[英]Loading fxml files inside a main fxml file

我有一個帶有幾個菜單的主fxml文件。 當用戶單擊某些按鈕時,內容將發生更改,並且這些內容是加載在主屏幕上的單獨的fxml文件。 整個場景不會改變,而只有一部分場景會改變。 這是我要制作的應用程序的簡單原型![在此處輸入圖像描述] [1]

https://www.dropbox.com/s/3nildyt004v32vc/fxml%20application.png

嘗試這個..

    AnchorPane pane; // pane where fxml was showing
    menu1.setOnAction(new EventHandler<ActionEvent>() {
    @Override
    public void handle(ActionEvent t) {
        openNewWindow("m1.fxml");

    }
    });
    menu2.setOnAction(new EventHandler<ActionEvent>() {
    @Override
    public void handle(ActionEvent t) {            
        openNewWindow("m2.fxml");

    }});
    menu3.setOnAction(new EventHandler<ActionEvent>() {
    @Override
    public void handle(ActionEvent t) {            
        openNewWindow("m3.fxml");

    }
    }); 

函數openNewWindow

public void openNewWindow(String FXMLFile)
 {
     //ChildNode child;
    try {                    
        URL url = getClass().getResource(FXMLFile);
        FXMLLoader fxmlLoader = new FXMLLoader();
        fxmlLoader.setLocation(url);
        fxmlLoader.setBuilderFactory(new JavaFXBuilderFactory());
        AnchorPane page = (AnchorPane) fxmlLoader.load(url.openStream()); 

        Pane.getChildren().clear();///name of pane where you want to put the fxml
        Pane.getChildren().add(page);
    } 
    catch (IOException e) {
        e.printStackTrace();
    }
 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM