我向MouseListener
添加了JLabel
。现在,如果我要禁用与MouseListener
相关联的JLabel
,则在点击标签一次时,我该怎么办呢。
我知道有一个很大的方法可以在单击标签时设置一个boolean或int变量,然后调用一个方法然后删除MouseListener
,但我想学习一种紧凑而简单的方法。有没有办法做到这一点?
答案 0 :(得分:5)
在您的鼠标监听器中:
public void mouseClicked(MouseEvent event) {
// Do stuff...
((Component) event.getSource()).removeMouseListener(this);
}
答案 1 :(得分:1)
label.removeMouseListener(listener)
出了什么问题?它工作得很好。如果要创建自动删除的侦听器,请调用label.removeMouseListener(this)