У меня есть приложение java, и я хочу дождаться нажатия клавиши для выполнения другого действия. До сих пор я нашел:Дождитесь нажатия клавиши внутри цикла
public void keyPressed(KeyEvent e) {
if (e.getKeyCode() == KeyEvent.VK_RIGHT) {
//Right arrow key code
}
}
, но я хочу, чтобы это было внутри цикла или что-то, что не ждет, пока ключевые матчи.
Пожалуйста, помогите.
UPDATE:
Я хочу, чтобы программа будет ждать, пока клавиша не будет нажата, и при ее нажатии я хочу, чтобы вызвать другое действие. Например:
public void something(){
//do something
wait until a key is pressed
if(key pressed is a arrow key){
something();
}else{
wait for the key to be pressed
}
}
public void dootherthing(){
//do other thing
}
Я работаю в разгаре, и я не хочу, чтобы GUI безответственными. т. е. когда я вызываю dootherthing одним нажатием кнопки. Он должен это сделать, и ожидание должно закончиться.
Попробуйте что-то вроде: - если (ButtonPress) сделано = true; !!! –
Почему вы хотите, чтобы это было в цикле? –
Вы не можете ждать в цикле в контексте события Dispatching Thread. Это предотвратит обработку новых событий, то есть вы никогда не покинете свой цикл ... возможно, вам следует поделиться тем, что вы пытаетесь сделать, и мы сможем помочь вам найти решение. – MadProgrammer