Удаление 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)