;
使用鼠标滚轮缩放后 , 在 Canvas 中绘制的图片的尺寸肯定是放大或者缩小了 , 尺寸发生了改变 ;
图片缩放时 , 鼠标指针指向一个位置 , 该位置对应着一个当前 Canvas 画布中的 x..., y 坐标 , 同时可以计算出当前位置对应的图片中的 水平方向的比例 和 垂直方向的比例 ;
在缩放后的图片中 , 只要保证鼠标指针指向相同的 x, y 坐标时 , 该位置对应的 水平方向的比例 和...垂直方向的比例 仍然保持不变 , 那就需要移动图片的位置 ;
如果放大图片就需要将图片往左上方移动 ;
如果缩小图片就需要将图片往右下方移动 ;
此时可以分析出 , 如果要实现 鼠标滚轮缩放的中心点设置为当前鼠标中心点...java.awt.event.MouseWheelEvent;
import java.awt.event.MouseWheelListener;
public class LargeCanvas extends JPanel {
// 鼠标按下时的坐标...addMouseListener(new MouseAdapter() {
public void mousePressed(MouseEvent e) {
// 记录鼠标按下时的坐标