如何将鼠标侦听器添加到包含图像的JLabel

时间:2013-08-21 14:06:08

标签: java image swing jlabel mouselistener

我已将图像添加到Jlabel,我想向其添加鼠标侦听器。 我不知道要为包含图像的Jlabel添加鼠标监听器。

所以知道如何实现这一点的人请告诉我。

我想在JLabel添加一个mousedragged监听器。 当用户拖动它时,它应该可以工作。

MouseHandler mk = new MouseHandler();
JLabel label = new JLabel();
label.addMouseListener(mk);

我在类中实现了一个扩展鼠标适配器的监听器。

3 个答案:

答案 0 :(得分:4)

您可以尝试:

     JLabel nameLabel = new JLabel("Name:");
     nameLabel.addMouseMotionListener(new MouseMotionAdapter() {
        //override the method
        public void mouseDragged(MouseEvent arg0) {
                     // to do .........................
        }
    });

这就是我理解你的问题的方式。

但我想这也可以帮到你: Drag and move a picture inside a JLabel with mouseclick

答案 1 :(得分:1)

您正在将鼠标适配器添加为鼠标侦听器(处理单击,输入,退出,按下,释放)。如果要处理拖动和移动事件,您希望将其添加为鼠标动作侦听器。

答案 2 :(得分:0)

您可以执行以下操作:

ImageIcon icon = new ImageIcon("C:/image.jpg"); //Path to the image  
JLabel label = new JLabel(icon); //add image to the label

label.addMouseMotionListener(new MouseMotionListener() {

        @Override
        public void mouseMoved(MouseEvent arg0) {
            // TODO Auto-generated method stub

        }

        @Override
        public void mouseDragged(MouseEvent arg0) {
            // TODO Auto-generated method stub

        }
    }); 

您可以根据需要将操作添加到上述方法中。