2013-08-21 51 views
3

我已将一个图像添加到Jlabel,我想添加鼠标监听器。 我不知道要添加一个鼠标监听器到Jlabel包含图像。如何将鼠标监听器添加到包含图像的JLabel中

所以任何人都知道如何实施这个请告诉我。

我想向JLabel添加mousedrag的侦听器。 当用户拖动它时,它应该工作。

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

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

+0

请看看这个[回复](http://stackoverflow.com/a/11890169/1057230):-) –

回答

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

你加入你的鼠标适配器鼠标监听器(它处理点击,进入,退出,按下,释放)。如果要处理拖动和移动事件,则要将其添加为鼠标动作侦听器。

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 

     } 
    }); 

可以根据需要采取的行动加入到上述方法。