JavaFX,是否可以使用相同的.fxml文件实例化多个窗口?

时间:2018-04-09 19:20:44

标签: java javafx fxml

我正在使用JavaFX创建聊天应用程序,现在我正在使用聊天窗口。我想知道是否可以使用此方法创建多个窗口实例,如this

FXMLLoader.load(getClass().getResource("chatWindow.fxml"));

通过获取控制器和使用setter设置所有属性,如名称 - 哈利波特,图像等。每个窗口都有它自己的控制器吗?或者每个窗口只有一个控制器?或者我必须将fxml代码“翻译”为Java代码,并使用Java创建这些场景?像那样:

VBox vbox = new VBox();

1 个答案:

答案 0 :(得分:0)

简单:1 FXML + 1控制器

我不知道我是否理解正确,但您可能希望在点击或任何其他事件后打开新的FXML。然后你可以打开另一个包含其他组件的FXML。

    try{
        FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("yourFXML.fxml"));
        Parent root1 = (Parent) fxmlLoader.load();
        Stage stage = new Stage();
        stage.setTitle("FXML");
        stage.setScene(new Scene(root1));  
        stage.show();
      }
相关问题