当前位置: 首页 > 知识库问答 >
问题:

如何在点击按钮显示“stage2”后隐藏“stage1”【JavaFX】

贺轶
2023-03-14

我有2. fxml文件(stage1.fxml和stage2.fxml)和它的控制器类。

我在第一阶段有一个按钮。打开stage2的fxml。fxml单击时,上面有以下代码:

public void btnStage2(ActionEvent event) {
        try {
            Parent stage2 = FXMLLoader.load(getClass().getResource("/application/stage2.fxml"));
            Stage stage = new Stage();
            stage.setScene(new Scene(stage2));
            stage.show();
        } catch(Exception e) {
            e.printStackTrace();
        }

这可以很好地打开阶段2,但是阶段1仍然是打开的,我可以直接用tab键进入它并仍然使用该阶段中的按钮,我不想这样。

我怎么能。在打开stage2之前,当我按下bInstage2时,设置stage1可见(false)。fxml?

当我按下关闭按钮时,我发现了其他关于“隐藏”舞台而不是关闭舞台的帖子,但这与我的需要不符。谢谢你的帮助!

共有1个答案

宇文育
2023-03-14

经过几个小时的反复试验,我想我终于明白了这个阶段是怎样的。close()起作用。

我的问题的解决方案是在按钮的方法中添加这2行代码:

Stage stage1= (Stage) btnStage2.getScene().getWindow();
stage1.close();

以前,我认为我不能在一个函数中调用多个Stage。事实证明我错了。

 类似资料:
  • 我在使用Google的支持设计库中的FloatingActionButton时遇到了一些麻烦。按钮和onClickListener工作正常,但问题在于: 当我隐藏按钮和我显示它之后,按钮不直接执行onClick方法时,点击第一次,它必须点击2次工作。我没有在onClick中做任何复杂的事情,这些事情只需要为视图运行一个简单的就可以了。下面是我的代码,尽管我怀疑那里有什么问题:

  • 我正在尝试隐藏按钮div和显示一个隐藏的div后,一个表单按钮已经被点击,加上延迟提交/重定向。下面是我想出的办法,但似乎没有100%奏效。 null null 任何建议都非常感谢

  • 我正在使用: https://github.com/iPaulPro/SlidingMenu 在我的例子中,BehindContentView是一个ListFragment。 1.单击图像以获取behindView(调用toggle();)。 2. onListItem点击会Activity_2显示点击项目的文本。 3.在这个Activity_2中,当我单击device back按钮时,我会看到主

  • 我正在用Selenium开发简单的自动化。我需要单击一个特定的按钮。我不能,因为它隐藏在没有类的div/table中。 我附上了一个html的截图。我确实尝试过xpath、css选择、选择,但仍然一无所获。 HTML

  • 在 MShowInstDetails show ShowUnInstDetails show 下面添加以下代码: ShowInstDetails hide ;安装过程,该项默认为show,hide表示不显示安装信息,点击显示按钮后显示。 ShowUnInstDetails hide ;卸载过程,该项默认为show,hide表示不显示安装信息,点击显示按钮后显示。 效果如图:

  • Javascript(jQuery)代码 HTML/EJS代码 我读过的一些不起作用的帖子: 如何在单击按钮时通过动画显示视图? 尝试在单击按钮时显示div