JavaFX 触摸事件未触发 - Ubuntu 20.04 触摸笔记本电脑

JavaFX Touch Events Not Triggering - Ubuntu 20.04 touch laptop

我正在使用 OpenJDK 11 和 OpenJFX 16 开发 JavaFX 应用程序。

应用程序在带鼠标的 Ubuntu 20.04 台式机上运行良好,但在我的 Ubuntu 20.04 触摸笔记本电脑上,触摸无法正常工作。界面检测到触摸,但是事件都是MOUSE_ENTERED_TARGET和MOUSE_EXITED_TARGET。它不会像点击时那样检测实际触摸。我读过其他人遇到过 OpenJFX 11 的问题,但我认为 JavaFX 自 JavaFX 2.2 起就支持触摸。

我是否必须手动执行任何操作才能让普通的 JavaFX 按钮识别触摸事件。

已解决 解决方案是正确添加“-Djdk.gtk.version=2”以使触摸起作用。然后它起作用了 w/o 我必须在事件处理程序中做任何特定的事情。 在 application 下的 build.gradle.kts 文件中,我必须设置 applicationDefaultJvmArgs = listOf("-Djdk.gtk.version=2") 并将 args: Array<String> 传递给我的主 function/method :

@JvmStatic
fun main(args: Array<String>) {
    launch(MainLauncher::class.java, *args)
}