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

时间:2021-03-17 13:44:55

标签: java javafx touch ubuntu-20.04 openjfx

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

应用在带鼠标的 Ubuntu 20.04 桌面上运行良好,但在我的 Ubuntu 20.04 触摸笔记本电脑上,触摸不起作用。界面检测到触摸,但事件都是MOUSE_ENTERED_TARGET和MOUSE_EXITED_TARGET。它不会像点击一样检测实际触摸。我读过其他人在使用 OpenJFX 11 时遇到了问题,但我认为 JavaFX 从 JavaFX 2.2 开始就支持触摸。

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

1 个答案:

答案 0 :(得分:1)

已解决 解决方案是正确添加“-Djdk.gtk.version=2”以使触摸工作。然后它就可以工作了,我不必在事件处理程序中做任何特定的事情。 由于在 build.gradle.kts 下的 application 文件中,我必须设置 applicationDefaultJvmArgs = listOf("-Djdk.gtk.version=2") 并将 args: Array<String> 传递给我的主函数/方法,因此问题也变得更加复杂:< /p>

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