参考的这个网址的方法http://statsciolist.blogspot.com/2013/04/javafx-modal-dialog-with-controller.html
- 在main函数里面建立Controller的对象,并且在Controller里面建立一个添加Stage的方法。
- 建立新的对话框fxml文件,和主fxml的建立方法一样
public class Main extends Application { @Override public void start(Stage primaryStage) { try { /*Parent root = FXMLLoader.load(getClass().getResource("study.fxml")); Scene scene = new Scene(root, 1000, 600); primaryStage.initStyle(StageStyle.DECORATED); primaryStage.setScene(scene); primaryStage.setTitle("Stony Brook Health"); primaryStage.show(); */ FXMLLoader loader = new FXMLLoader(); loader.setLocation(getClass().getResource("study.fxml")); loader.load(); Parent root = loader.getRoot(); //主控制器的对象,用于获取主函数中的Stage对象 Controller c =(Controller)loader.getController(); c.setStage(primaryStage); Scene scene = new Scene(root,1000,600); primarySta

这篇博客展示了如何在JavaFX应用中通过FXML文件创建对话框。首先,在Main类中,通过加载FXML并获取Controller来设置Stage。然后,通过Controller的setStage方法传递Stage对象。当需要打开新的对话框时,可以使用相同的方法加载新的FXML,并创建一个装饰风格的Stage,设置其模态性和所有者。
最低0.47元/天 解锁文章
1136

被折叠的 条评论
为什么被折叠?



