マウスのドラッグによるズームを無効にしたいのですが(その長方形をペイントします)、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 に答える