JavaFX 2.2 Stage始终位于顶部

use*_*051 15 java javafx jframe always-on-top

我有一个普通的JFrame(应用程序的一部分)和第二个JavaFX窗口(我不能在JavaFX阶段使用JFrame).问题是JavaFX窗口应始终位于所有其他窗口之上.

我不知道应该如何解决这个问题!有任何想法吗?

小智 28

我知道这是一个老线程,但事情在不断变化.来到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);
    }
}
Run Code Online (Sandbox Code Playgroud)

从这个漂亮的拍摄示例代码新手必看


小智 13

我现在有类似的问题.

我使用这行代码来获得始终最佳的效果:

stage.initModality(Modality.APPLICATION_MODAL);
Run Code Online (Sandbox Code Playgroud)

这对我来说可以.

这是文档.


Ser*_*nev 1

AFAIK,没有 API 可以让 JavaFX 阶段始终位于最前面。但是您可以使用JFXPanel将 JavaFX 场景放入 JFrame 中。