我已经开始使用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是问题所在,也许它没有必要的特权来关注新窗口