从JLabel中删除MouseListener()

时间:2012-11-13 15:44:49

标签: java swing jlabel mouselistener

我向MouseListener添加了JLabel。现在,如果我要禁用与MouseListener相关联的JLabel,则在点击标签一次时,我该怎么办呢。

我知道有一个很大的方法可以在单击标签时设置一个boolean或int变量,然后调用一个方法然后删除MouseListener,但我想学习一种紧凑而简单的方法。有没有办法做到这一点?

2 个答案:

答案 0 :(得分:5)

在您的鼠标监听器中:

public void mouseClicked(MouseEvent event) {
    // Do stuff...
    ((Component) event.getSource()).removeMouseListener(this);
}

答案 1 :(得分:1)

label.removeMouseListener(listener)出了什么问题?它工作得很好。如果要创建自动删除的侦听器,请调用label.removeMouseListener(this)