webView中的触摸事件-JavaFX

webView中的触摸事件-JavaFX,java,webview,event-handling,javafx,Java,Webview,Event Handling,Javafx,我正在制作一个JavaFXGUI应用程序,它使用JavaFXWebView类。现在我可以用Java显示网页了。现在我想让网页响应不同的触摸事件。我很确定我必须为不同类型的事件定制它,比如静止移动和移除就像点击一样,而拖动则是滚动。 实际上,我并不是在使用触摸屏,而是类似的东西。因此,如果还有一种方法可以通过传递坐标来明确地接触事件,或者制作一个用户定义的事件处理程序,然后使用它,然后在webview中以某种方式使用它 我对JavaFX有点陌生,对事件处理也有点了解,所以我想了解一些方向 有没有办

我正在制作一个JavaFXGUI应用程序,它使用JavaFXWebView类。现在我可以用Java显示网页了。现在我想让网页响应不同的触摸事件。我很确定我必须为不同类型的事件定制它,比如静止移动和移除就像点击一样,而拖动则是滚动。 实际上,我并不是在使用触摸屏,而是类似的东西。因此,如果还有一种方法可以通过传递坐标来明确地接触事件,或者制作一个用户定义的事件处理程序,然后使用它,然后在webview中以某种方式使用它

我对JavaFX有点陌生,对事件处理也有点了解,所以我想了解一些方向

有没有办法传递psuedo touch事件


我正在使用,并且我能够正确地接收坐标等。我有TUIO事件函数以它们的方式响应。我可以传递自定义事件或将其更改为触摸屏事件并将其传递到webview吗?因为它们实际上不是触摸事件,但是如果有人可以被制作成类似于它们的伪触摸事件,那么这可能会起作用。

因为您使用的是HTML组件WebView,那么您需要在WebView中处理事件,而不是JavaFX

您需要编写JavaScript事件处理程序以供页面使用。您可以在以下链接中找到有关JavaScript事件处理程序的更多信息:

如果你实际上没有使用触摸屏,它可能会工作,也可能不会工作(我不知道)

我不知道WebView是否理解触摸事件(我从未尝试过)


有没有办法传递psuedo touch事件

使用Java8。在Java 8中,有各种与触摸相关的事件类,如、、等。这些事件类中的每一个都有一个构造函数,可以用来在代码中构造事件。然后是棘手的一点,通常您在这里要做的是确定事件应该应用和调用的节点。但是,该确定步骤称为picking,目前JavaFX中没有公共API。对公共分拣API的请求当前为。因此,如果没有公共API,您将需要使用私有的未记录API(这可能会在未来的JavaFX版本中消失)。如果您愿意,您可以搜索以找到这样一个API的名称

我可以传递自定义事件或将其更改为触摸屏事件并将其传递到web视图吗

我不确定,您可以尝试我上面概述的方法,它可能有效,也可能无效


我建议使用目标操作系统支持的真正的触摸屏,而不是使用TUIO,那么JavaFX和WebView可能会在本质上处理您的所有触摸输入,而无需您做任何事情。

刚刚被您的问题绊倒了。不知道它是否仍然与您相关,但如果其他人发现:

JavaFXWebView并不真正理解TouchEvents,但您可以处理它们。 要将它们传递到浏览器,可以通过WebEngine中的executeScript从Java获取JavaScript。在JavaScript中,可以使用document.createEvent('UIEvent')创建TouchEvent


例如,有了它,我就可以将触地事件转发到WebView中运行的传单上。

有没有办法传递psedo触地事件?我正在使用TUIO(),并且我能够正确地接收坐标等。我有TUIO事件函数以它们的方式响应。我可以传递自定义事件或将其更改为触摸屏事件并将其传递到webview吗?因为它们不是真正的触摸事件,但如果有人可以像它们一样做伪触摸事件。请编辑您的问题以包含您的评论。你可以删除你的评论。通常,像这样的后续问题最好作为新问题提问,但我会看看是否能在这种情况下回答。