Во-первых, вы должны вызывать addMouseListener () только один раз, а не делать это повторно в цикле while.Во-вторых, вы можете выполнять логику «перемещения» внутри mouseClicked()
.Вам, вероятно, нужен оператор if
.
Обратите внимание, что Swing уже содержит логику для ожидания действий пользователя.В этом весь смысл слушателей событий.Они запускаются только тогда, когда происходит это событие.В случае кнопки вы должны использовать ActionListener
вместо MouseListener
.Для более подробной информации, я предлагаю вам ознакомиться с официальными учебными пособиями по Oracle для Swing.Вы можете найти их с помощью быстрого поиска Google.