【问题标题】:JavaFX 2: Prevent other Stages from stealing focus from primary StageJavaFX 2:防止其他阶段从主要阶段窃取焦点
【发布时间】:2012-10-17 09:06:34
【问题描述】:

我有一个主舞台,并想创建多个附加舞台 (Windows)。这些就像 Photoshop 中控制主舞台的调色板,但我想要具有标题栏、调整大小以及能够将它们拖动到多个监视器上的任何位置的功能(Popup 类没有此功能)。

但是我不希望它们一直从主窗口中窃取焦点,实际上它们永远不应该窃取焦点,最好同时将它们全部放在前台。有没有办法做到这一点?我在主舞台上尝试了 requestFocus() ,但它似乎不起作用。我现在唯一能想到的就是实现一个自定义控件来显示标题栏并创建一个弹出窗口,但这听起来很痛苦,谢谢

【问题讨论】:

标签: window focus javafx-2 stage


【解决方案1】:

是的,它应该适用于.requestFocus()
但由于某种原因,您必须这样做两次:

primaryStage.requestFocus();  //put focus from dialog to main window

Platform.runLater(new Runnable() {
  @Override
  public void run() {

    //focus again??? only then it works :-(
    primaryStage.requestFocus();  //put focus from dialog to main window
  }
});

【讨论】:

  • 也许有办法永远不将焦点放在新窗口上?我有一个通知窗口,它总是从任何程序中窃取焦点,当显示时,它有点烦人......
猜你喜欢
  • 2016-04-09
  • 1970-01-01
  • 1970-01-01
  • 2015-08-03
  • 2011-11-04
  • 1970-01-01
  • 2013-06-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多