我已经开始使用JavaFX(开放式)编写用于GUI的应用程序。我遇到的这个问题真让我讨厌。当我编译我的应用程序时,窗口将显示在后台。

我想要的是,当我编译我的应用程序时,它将显示我将专注于该新窗口。

我的操作系统是openSUSE Leap 15.1,Plasma桌面。

如果可能的话,这是我的主要代码:

public class Main extends Application {
    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {
        Parent root = FXMLLoader.load(getClass().getResource("forms/login/FrmLogin.fxml"));
        Scene mainScene = new Scene(root);
        primaryStage.setTitle("Login");
        primaryStage.setScene(mainScene);
        primaryStage.show();
        primaryStage.setMinWidth(primaryStage.getWidth());
        primaryStage.setMinHeight(primaryStage.getHeight());
        primaryStage.setMaxWidth(primaryStage.getWidth());
        primaryStage.setMaxHeight(primaryStage.getHeight());
        primaryStage.toFront();
    }
}

最佳答案

如对原始帖子的评论中所述:

我先在Windows上测试了我的项目,然后在openSUSE的早期版本上进行了测试,它按预期工作。除了OS版本外,另一个区别是我使用的是Intellij IDEA的“便携式”版本而不是flatpak,结果发现flatpak是问题所在,也许它没有必要的特权来关注新窗口

09-30 17:51
查看更多