我正在开发一个在Jpanel中拖动和缩放图像的应用程序。
图像存储在JLabel中。
但是当我将MouseMotionListener添加到面板中时,整个窗口都在拖动,当我试图将MouseMotionListener添加到面板中时,我无法选择图像的两边来缩放它。
那么,我可以直接将MouseMotionListener添加到BufferedImage中吗?
对于添加MouseMotionListener的任何组件,它都不允许我选择图像的两边。边指图像缩放的所有方向。
窗口:
addMouseListener(handler);
addMouseMotionListener(handler);JLabel:
label.addMouseListener(new MouseHandler());
label.addMouseMotionListener(new MouseHandler());这里,MouseHandler是为各种操作定义的类,如mousePressed、mouseDragged、mouseMove等。
,知道它为什么这样做吗?
发布于 2013-08-22 11:03:22
BufferedImage是一个支持一般图像操作的类。它可以从具有图形用户界面的交互式程序和没有用户界面的非交互式批处理程序中同等使用。在GUI中没有使用的东西上安装一个鼠标监听器是没有意义的,所以您不能将MouseMotionListener添加到BufferedImage中。
您应该将侦听器添加到正在显示图像的GUI组件中。
https://stackoverflow.com/questions/18378059
复制相似问题