0

MouseListener在一个JLabel. 现在,如果我想禁用MouseListener与 关联的这个JLabel,当单击标签一次时,我该怎么做。

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

4

2 回答 2

5

在您的鼠标侦听器中:

public void mouseClicked(MouseEvent event) {
    // Do stuff...
    ((Component) event.getSource()).removeMouseListener(this);
}
于 2012-11-13T15:48:32.663 回答
2

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

于 2012-11-13T15:48:26.267 回答