Обработка: Java, KeyPressed() не обнаруживается во время выполнения функции?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Обработка: Java, KeyPressed() не обнаруживается во время выполнения функции?

Сообщение Anonymous »

Ищу помощь/руководство по решению этой проблемы в моем приложении. Прочитав несколько сообщений на форумах на различных веб-сайтах, я думаю, что у меня есть представление о том, почему это не работает, однако я не уверен, почему это происходит в моем приложении и как реализовать решение.
Ищу приложение дождется получения ответа от пользователя с клавиатуры с помощью функции keyPressed(). Я разделил приложение на несколько функций (некоторые из них здесь не показаны) и жду ответа в цикле while в runTrialEvent(). Однако ответ никогда не принимается после запуска функции runTrialEvent(). Я знаю, что именно в этом заключается проблема, но не до конца понимаю, почему.
У меня есть следующий код в функции runTrialEvent(), которая запускается нажатием клавиши «t» на клавиатуре. .
runTrialEvent()

Код: Выделить всё

 void runTrialEvent(Serial myPort)
{

//////////////////////////////////////////////
//This While Loop is where the issues arise

while (trialTimer.isFinished() == false && userResponded == false )
{
println("Awaiting User Response");

delay (300);
}

//////////////////////////////////////////////////

if (userResponded == true)
{
//Debug Info
println("User responded in time ");
}

else if (trialTimer.isFinished() == true)
{
println("User failed to respond in time ");
}
}
У меня есть ввод от пользователя с помощью keyPressed(), который отлично работает до цикла. Этот код:
keyPressed()

Код: Выделить всё

 void keyPressed()
{
if (key == 'f' || key == 'F' )
{
println("User Answered First");
//allTrials[i].setUserAnswer("F");
userResponded = true;
println("User Response Recorded ");

}

else if (key == 's' || key == 'S')
{
println("User Answered Second");
//allTrials[i].setUserAnswer("S");
userResponded = true;
println("User Response Recorded ");

}
}
Мой метод draw() просто записывает текст в окно, поэтому там ничего не выполняется. Если у кого-нибудь есть решения, было бы здорово. Будем очень признательны за любые объяснения, почему это происходит.
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/454 ... g-function
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»