Могу ли я получить данные из метода Swing Mouse Adapter / Listener? - PullRequest
0 голосов
/ 17 мая 2019

Я кодирую игру и пытаюсь получить значение броска костей от нажатия кнопки в моем пользовательском интерфейсе.

Я не слишком знаком с принципами MVC, но я слышал, что этопутьЛюбые советы о том, как получить этот код?

int move = -1;
while (move == -1) {
    this.btnLancerLeD.addMouseListener(new MouseAdapter() {

        public int diceRoll;

        @Override
        public void mouseClicked(MouseEvent arg0) {
            diceRoll = jeu.getDe().lancer();
            move = diceRoll;
        }
    });
}

Я пытаюсь получить значение diceRoll для перемещения моих игроков на доске.

1 Ответ

0 голосов
/ 17 мая 2019

Во-первых, вы должны вызывать addMouseListener () только один раз, а не делать это повторно в цикле while.Во-вторых, вы можете выполнять логику «перемещения» внутри mouseClicked().Вам, вероятно, нужен оператор if.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...