我有一个普通的 JFrame(应用程序的一部分)和第二个 JavaFX 窗口(我不能将 JFrame 用于 JavaFX 阶段)。问题是 JavaFX 窗口应该始终位于所有其他窗口的顶部。
我不知道我应该如何解决这个问题!有任何想法吗?
我有一个普通的 JFrame(应用程序的一部分)和第二个 JavaFX 窗口(我不能将 JFrame 用于 JavaFX 阶段)。问题是 JavaFX 窗口应该始终位于所有其他窗口的顶部。
我不知道我应该如何解决这个问题!有任何想法吗?
我知道这是一个旧线程,但事情一直在变化。来到JDK 8u20是一种新方法primaryStage.setAlwaysOnTop(true);
这将是使舞台始终处于顶部的最简单方法。要提前访问 8u20,请访问网站。
public class KeyholeDemo extends Application {
@Override public void start(Stage primaryStage) {
primaryStage.initStyle(StageStyle.TRANSPARENT);
primaryStage.setAlwaysOnTop(true);
// code omitted...
}
public static void main(String[] args) {
launch(args);
}
}
取自这篇不错的文章的示例代码
像这样(我正在使用警报)
Stage stage = (Stage) alert.getDialogPane().getScene().getWindow();
stage.setAlwaysOnTop(true);
如果您希望它始终阻止其他窗口,只需设置:
alert.initModality(Modality.APPLICATION_MODAL);
AFAIK,没有 API 可以让 JavaFX 阶段始终处于首位。但是您可以使用JFXPanel将 JavaFX 场景放入 JFrame 中。