如何为包含图像的JLabel添加鼠标监听器

3
我已经向一个 Jlabel 添加了一张图片,并想要为其添加鼠标监听器。 我不知道如何为包含图片的 Jlabel 添加鼠标监听器。
所以,任何知道如何实现此功能的人请告诉我。
我想要为 JLabel 添加一个鼠标拖动监听器。 当用户拖动它时,它应该起作用。
MouseHandler mk = new MouseHandler();
JLabel label = new JLabel();
label.addMouseListener(mk);

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

请看一下这个答案 :-) - nIcE cOw
3个回答

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

我理解你的问题是这样的。

以下可能对你有帮助: 如何使用鼠标单击在JLabel中拖动和移动图片


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

        }
    }); 

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接