java - 使用 MouseWheelListener 水平滚动

标签 java swing scroll mouseevent

通过监听我的 MouseAdapter,我成功地捕获并处理应用程序中的垂直滚动事件。

方法如下:

@Override
public void mouseWheelMoved(MouseWheelEvent e)
{
   int n = e.getWheelRotation();
   //scroll n times
}

如何以类似方式处理水平滚动事件,例如在触控板上生成的事件?

提前致谢:)

最佳答案

我找到了一个解决方案,据我的测试显示,该解决方案适用于 Mac,但不适用于 Windows。水平滚动的解释方式与垂直滚动相同,尽管需要按住 Shift

因此重写以下监听器方法即可完成这项工作:

@Override
public void mouseWheelMoved(MouseWheelEvent e)
{
   int n = e.getWheelRotation();
   if(e.isShiftDown())
       //we've scrolled n times horizontally
   else
       //we've scrolled n times vertically.
}

关于java - 使用 MouseWheelListener 水平滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22851022/

相关文章:

java - GridBagLayout 显示元素不正确

java - 多个类应该如何用于应用程序的不同屏幕?

java - 当我开始运行 Java 程序时如何删除文本字段上的自动选择

java - java/maven如何在运行时解决依赖冲突

Java 线程似乎运行多次

java - 如何在 OpenNLP 中创建良好的 NER 训练模型?

iphone - 如何重置 UITableView 的滚动位置?

scroll - 如何在 Visual Studio 代码中禁用水平滚动?

jQuery 将元素滚动到底部

java - OrderList 内的 Primefaces 面板