JavaFX 窗口在左上角打开然后跳到中间

我正在用 JavaFX 开发一个程序(更具体地说是 FornadoFX,因为我是用 Kotlin 编写的)。我注意到的是,当主窗口最初在左上角打开时,它会跳到中间。


这就是我启动应用程序的方式:launch<MainWindowClass>(args)


这是我的start方法:


override fun start(stage: Stage) {

    with(stage){

        minWidth = 600.0

        minHeight = 250.0


        //Making it appear in the center

        val screenBounds = Screen.getPrimary().visualBounds

        x = screenBounds.width / 2 - minWidth / 2

        y = screenBounds.height / 2 - minHeight / 2

        scene = Scene(Group(), minWidth, minHeight)


        super.start(this)

    }

}

中心部分(从val screenBounds...到 的行scene = ...)基于此答案。


然而无论他们是否在那里,窗口总是在左上角打开,然后跳转到设置位置,而不是首先显示在那里。


暮色呼如
浏览 135回答 1
1回答

万千封印

Linux 和 JavaFX 11 报告了不同的问题,其中一些有相同的根本原因:从 GTK 2 到 GTK 3 的变化。至于 Windows 问题,它已经在这里归档,并且已经修复,所以你可能可以尝试使用 JavaFX 13-ea+11 来测试它。同时,或者如果您必须坚持使用已发布的 JavaFX 11/12 版本,唯一的解决方法是上述答案中建议的解决方法:使用 GTK 2 运行应用程序,可以使用系统属性进行设置:java -Djdk.gtk.version=2
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java