【问题标题】:How to make mouse wheel zoom(setMouseWheelEnabled()) in Jfreechart only affect specifix axis?如何在 Jfreechart 中使鼠标滚轮缩放(setMouseWheelEnabled())只影响特定轴?
【发布时间】:2020-07-03 18:03:37
【问题描述】:

当我使用此代码行启用鼠标滚轮放大图表时:

chartPanel.setMouseWheelEnabled(true);

滚动鼠标滚轮将放大/缩小 x 和 y 轴。如何在轴的一个上禁用鼠标滚轮缩放?

Jfreechart 版本:1.0.13

【问题讨论】:

    标签: java swing jfreechart


    【解决方案1】:

    使用ChartPanel 方法setDomainZoomable()setRangeZoomable() 单独控制轴。作为一个具体的例子,在这个example中编辑createChartPanel(),如下所示启用"Value"轴上的缩放,同时保持"Count"轴不变:

    panel.setMouseWheelEnabled(true);
    panel.setDomainZoomable(true);
    panel.setRangeZoomable(false);
    

    为了方便,

    • 根据需要使用context menu 更改缩放设置。

    • 根据需要使用缩放按钮,例如 these

    • 使用here 描述的其他适用功能。

    放大:

    缩小:

    【讨论】:

    • setDomainZoomable() 和 setRangeZooomable() 只影响鼠标左键的拖动缩放。鼠标滚轮缩放仍然缩放两个轴。稍后再更新。
    • 我无法重现您用上面引用的完整示例描述的效果。如果您仍有问题,请edit 在您的问题中添加一个minimal reproducible example,以展示您所描述的问题。
    • 我只是在 Kubuntu 20.04 上用我的 java 11 运行你的直方图。滚轮仍然缩放两个轴。我想这个问题是平台依赖的。如果您愿意,我可以发送带有屏幕截图的评论作为证据。
    • 哎哟。不需要另一个minimal reproducible example。验证您的 JFreeChart 版本;我在 MacOS 上的 Java 1.8 上使用 JFreeChart 1.5.0 版。
    • 我将jfreechart升级到1.5.0后问题解决了,谢谢,接受你的回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-04
    • 1970-01-01
    • 2012-11-13
    • 1970-01-01
    • 1970-01-01
    • 2014-04-05
    • 1970-01-01
    相关资源
    最近更新 更多