Я использую Key Events over Key Binding, потому что я еще не понимаю связывание ключей.
Я делаю JFrame
с JPanel
кнопкой J.
Я копирую JPanel
как панель в классе фрейма и JButton
как кнопку в классе панели. Я продолжаю редактировать класс панели.
Если я addKeyListener
с новым keyAdapter
, который просто печатает «нажата клавиша», ничего не произойдет, если я что-нибудь наберу. НО, если я сделаю button.addKeyListener
с тем же общим keyAdapter
, «нажатие клавиши» будет печататься, когда я нажимаю клавишу.
Полагаю, это как-то связано с экземплярами. Итак, мой первый вопрос: как мне сделать так, чтобы компонент добавил слушателя ключа к себе и / или почему бы не вызвать addKeyListener
или даже this.addKeyListener
, чтобы это сделать?
Когда я добавляю ключевой слушатель, код продолжает работать (как это, вероятно, должно), поэтому я попытался while(some boolean) thread.sleep(1000)
просто заставить ключевой слушатель изменить логическое значение при нажатии клавиши. Я просто хочу, чтобы мой код ждал, пока не будет нажата клавиша. Я понимаю, что это не так много, но мой вопрос: есть ли лучший или более чистый способ приостановить методы / ждать ввода?