【问题标题】:JavaFX Render stage below parent父级下方的 JavaFX 渲染阶段
【发布时间】:2015-02-25 02:33:02
【问题描述】:

根据 JavaFX 文档,子阶段定义为

 A stage will always be on top of its parent window. 

问题是我想根据彼此像普通窗口一样渲染它们(如果您单击一个,它将在另一个上方渲染)。我可以在没有 hacky 解决方法的情况下做到这一点吗?

【问题讨论】:

    标签: java javafx stage


    【解决方案1】:

    使一个阶段成为另一个阶段的子阶段的唯一其他功能是,当父阶段关闭时,子阶段会自动关闭。你可以用一个监听器来模拟这个:

    Stage firstStage = ... ;
    
    Stage secondStage = new Stage();
    
    // secondStage.initOwner(firstStage);
    firstStage.addEventHandler(WindowEvent.WINDOW_HIDDEN, evt -> secondStage.hide());
    
    // ...
    

    如果您依赖于在任何地方使用 getOwner(),则必须找到解决方法。

    (我不确定这是否属于“hacky workaround”,但它应该可以工作......)。

    【讨论】:

      猜你喜欢
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-05
      • 2017-07-19
      • 1970-01-01
      • 2011-09-11
      相关资源
      最近更新 更多