Удаление MouseListener() из JLabel

Я добавил MouseListener к JLabel, Теперь, если я хочу отключить это MouseListener связано с JLabel, когда на ярлык нажимают один раз, как я могу это сделать.

Я знаю, что есть большой способ установить булеву переменную или переменную int при нажатии на метку, а затем вызвать метод и удалить MouseListener там, но я хочу научиться компактным и простым способом. Есть ли способ сделать это?

2 ответа

Решение

В вашем мышке слушатель:

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

Что случилось с label.removeMouseListener(listener)? Работает просто отлично. Если вы хотите создать слушателя, который удаляет себя, позвоните label.removeMouseListener(this)

Другие вопросы по тегам