我正在一个JavaFX项目上,想从Oracle JDK 1.8切换到OpenJDK11。到目前为止,过渡是无缝的,但是与触摸/鼠标输入有关的一个主要问题仍然引起麻烦。
JavaFX UI应该在支持触摸的设备上运行,该设备以前可以与Oracle JDK 1.8一起直接使用。当我触摸屏幕时,将按预期触发以下鼠标事件序列:
MOUSE_PRESSED
MOUSE_RELEASED
MOUSE_CLICKED
After building the same application with OpenJDK11 (using OpenJFX 11 as an external library as JavaFX is no longer part of the JDK by default) I get the follwing sequence of events:
MOUSE_ENTERED_TARGET
MOUSE_ENTERED_TARGET
MOUSE_EXITED_TARGET
MOUSE_EXITED_TARGET
This explains why I can't click any buttons (or controls in general). So far so good. The question is, how do I get my MOUSE_{PRESSED,RELEASED,CLICKED} events back?
SSCE:
package com.example.jfxtouchtest;
import javafx.application.Application;
import javafx.scene.Scene; …Run Code Online (Sandbox Code Playgroud)