我想通过鼠标拖动禁用缩放(绘制该矩形),但不禁用通过 MouseWheel 进行缩放。我在另一个主题中找到了如何在向左拖动鼠标时禁用缩放重置(restoreAutoBounds),我对如何解决这个问题很感兴趣。有没有什么捷径可以做到这一点?
问问题
2006 次
2 回答
3
好的,我已经完成了,通过覆盖 MouseWheelListener。在 chartPannel.setMouseZoomable(false).:
chartPanel.addMouseWheelListener(new MouseWheelListener() {
public void mouseWheelMoved(MouseWheelEvent arg0) {
if (arg0.getWheelRotation() > 0) {
chartPanel.zoomOutDomain(0.5, 0.5);
} else if (arg0.getWheelRotation() < 0) {
chartPanel.zoomInDomain(1.5, 1.5);
}
}
});
zoom(In/Out)Domain,因为我只想重新缩放域轴。
于 2012-09-20T11:30:24.423 回答
1
上一个答案中的鼠标滚轮侦听器实现会移除缩放动画,并且不会从当前鼠标位置进行缩放。我通过使用透明涂料隐藏矩形找到了一种解决方法:
chartPanel.setZoomTriggerDistance(Integer.MAX_VALUE);
chartPanel.setFillZoomRectangle(false);
chartPanel.setZoomOutlinePaint(new Color(0f, 0f, 0f, 0f));
于 2015-04-13T10:00:18.930 回答