java - 当新阶段弹出时,我如何禁用初级阶段

标签 java javafx javafx-8 fxml scenebuilder

我有一个会弹出新阶段的按钮,但初级阶段不会禁用它仍然可以单击,所以如何禁用初级阶段。

这是我的舞台和场景代码

private static final Stage stage = new Stage();
    private static final Stage newstage = new Stage();
    /**
     *
     */

    @Override
    public void start(Stage primaryStage) throws Exception {
      Parent root = FXMLLoader.load(getClass().getResource("MainMenu.fxml"));
      Scene scene = new Scene(root);
      scene.getStylesheets().addAll(this.getClass().getResource("background.css").toExternalForm());
      stage.setScene(scene);
      stage.show();
    }

     public void chgScene (String str) throws Exception {
       Parent root = FXMLLoader.load(getClass().getResource(str));
       Scene scene = new Scene(root);
       stage.setScene(scene);
       stage.show();
    }

    public void addStage (String str) throws Exception {
       Parent root = FXMLLoader.load(getClass().getResource(str));
       Scene scene = new Scene(root);
       newstage.setScene(scene);
       newstage.setResizable(false);
       newstage.showAndWait();
    }

    public void clearStage () {
        newstage.close();
    }

如果有任何错误,非常抱歉,因为我是 Java 的新手,我需要为我的项目创建一个 GUI。感谢您的帮助。

最佳答案

你需要添加这个:

 newstage.initModality(Modality.APPLICATION_MODAL);
 newstage.showAndWait();

参见 Modality

关于java - 当新阶段弹出时,我如何禁用初级阶段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34070334/

相关文章:

java - 正则表达式:删除除包含关键字 "univ"之外的所有标签

JavaFX 8 TreeView 显示带有自定义 CheckBoxTreeCell 的 CheckBoxTreeItem - 复选框选择问题

javafx-2 - Kotlin 中的 TableView 回调

javafx - 使用Delete键删除JavaFX表行

java - 有人有 JSTUN 文档或帮助解释更多吗?

java - 有没有办法在 JRuby 上使用 AWTUtilities?

JavaFX WebView的编辑框接受ENTER键事件

java - 按下场景生成器时选择的文件无效 FXML 错误

java - 运行应用程序时更新 JavaFX 控件

javascript - GWT Chart.js 实现抛出 'unable to get property ' insertBefore' 未定义或空引用