Как заставить программу ждать щелчка по другой части графического интерфейса?

Я программирую игру. Во время хода игроку нужно будет выбрать действие из списка действий. Для этой цели я использую MouseAdapter, добавленный в pnlActionButtons (JPanel), на котором нарисована иконография действия. т.е. они нажимали на изображение «что нужно сделать», и это транслировалось в переменную, которую я включаю внутри метода mouseReleased().

Где я сталкиваюсь с препятствием, так это в том, что для некоторых игровых действий мне нужно выбрать 2 элемента, чтобы обеспечить контекст для действия. Например, мне нужен элемент игры, на который нажали, и место назначения, куда его можно переместить. Как заставить функцию mouseReleased() в pnlActionButtons ждать кликов в Gameboard (расширяет JPanel), чтобы передать контекст туда, где он мне нужен?


person MDHackbert    schedule 11.04.2020    source источник
comment
Вы застряли в режиме линейного консольного программирования, тогда как вам следует думать в режиме событийно-управляемого программирования, где реакция программы на щелчок мыши или другой ввод будет зависеть от состояния программы (чей сейчас ход, например). Переосмыслить все это.   -  person Hovercraft Full Of Eels    schedule 11.04.2020
comment
Другими словами, ваша программа не ждет, а вместо этого изменяет реакцию на нажатие кнопки в зависимости от значений, хранящихся в ключевых переменных программы, переменных состояния.   -  person Hovercraft Full Of Eels    schedule 11.04.2020