【问题标题】:how to add mouse listener to JLabel which contain image如何将鼠标侦听器添加到包含图像的 JLabel
【发布时间】:2013-08-22 02:35:35
【问题描述】:
我已经向Jlabel 添加了一个图像,我想向它添加鼠标侦听器。
我不知道给包含图片的Jlabel添加鼠标监听器。
所以任何知道如何实施的人请告诉我。
我想向JLabel 添加一个鼠标拖动的监听器。
当用户拖动它时,它应该可以工作。
MouseHandler mk = new MouseHandler();
JLabel label = new JLabel();
label.addMouseListener(mk);
我在扩展鼠标适配器的类中实现了一个监听器。
【问题讨论】:
标签:
java
image
swing
jlabel
mouselistener
【解决方案1】:
你可以试试:
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
【解决方案2】:
您将鼠标适配器添加为鼠标侦听器(处理单击、进入、退出、按下、释放)。如果您想处理拖动和移动事件,您需要将其添加为鼠标运动侦听器。
【解决方案3】:
您可以执行以下操作:
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
}
});
您可以根据需要将操作添加到上述方法中。