Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当不使用滚动条时,如何检测Mac上JScrollPane的滚动?(轨迹板滚动)_Java_Macos_Swing_Jscrollpane_Trackpad - Fatal编程技术网

Java 当不使用滚动条时,如何检测Mac上JScrollPane的滚动?(轨迹板滚动)

Java 当不使用滚动条时,如何检测Mac上JScrollPane的滚动?(轨迹板滚动),java,macos,swing,jscrollpane,trackpad,Java,Macos,Swing,Jscrollpane,Trackpad,简单的问题,可能是同样简单的答案-但我在文档中找不到: 我当前的实现在JScrollPane的滚动条上使用鼠标侦听器来检测用户的滚动动作。但是,在MacBook上,用户也可以使用轨迹板双手指拖动来修改JViewport视图的位置,而无需使用滚动条。如何以编程方式检测此问题 更多:有几个未回答的问题询问如何检测触摸板手势。在普通的旧Java中,这似乎是不可能的。我正在寻找一种解决方案,它不关心是哪个特定的用户操作导致了滚动,而是检测JViewport在视图上的位置发生了变化。当触控板手势出现时,J

简单的问题,可能是同样简单的答案-但我在文档中找不到:

我当前的实现在JScrollPane的滚动条上使用鼠标侦听器来检测用户的滚动动作。但是,在MacBook上,用户也可以使用轨迹板双手指拖动来修改JViewport视图的位置,而无需使用滚动条。如何以编程方式检测此问题

更多:有几个未回答的问题询问如何检测触摸板手势。在普通的旧Java中,这似乎是不可能的。我正在寻找一种解决方案,它不关心是哪个特定的用户操作导致了滚动,而是检测JViewport在视图上的位置发生了变化。当触控板手势出现时,JScrollPane不知何故被告知执行滚动动作,因此我希望避免检测它是如何发生的(在这种情况下,这可能是不可能的),而是检测用户输入的结果

继续搜索,刚刚发现:这表明一种方法可能是使用MouseWheelListener。这仍然在检测用户输入,而不是结果,但可能是一个可行的选择,我将探索。

另请参见。