Проблема с пользовательским вводом в Java

Я пытаюсь создать программу, похожую на программу Type To Learn, и в конечном итоге превратить ее в приложение. Я знаю, что очень просто иметь кнопку, которая проверяет, соответствует ли ввод пользователя запрашиваемому слову, делая что-то вроде if(userInput.equals(promptedWord)), но я хочу, чтобы она была похожа на Quizlet в этом в тот момент, когда пользователь вводит правильный ответ, программа помечает его как правильный и переходит к следующему слову, если вы понимаете, что я имею в виду. По сути, не должно быть кнопки ввода. Вместо этого в тот момент, когда пользователь вводит правильное слово, программа понимает это, помечает правильно и движется дальше. Я действительно озадачен тем, как подойти к этому таким образом. Я пытался исследовать способы, с помощью которых я могу получить доступ к вводу пользователя в тот момент, когда он его печатает, но я ничего не могу найти об этом. Можно ли как-то это сделать, или это очень сложно сделать?

Спасибо, и дайте мне знать, если я должен попытаться добавить больше информации!


person user2677095    schedule 14.08.2014    source источник
comment
Знакомы с EventListeners? Я предполагал, что вы используете Swing   -  person PM 77-1    schedule 14.08.2014
comment
О верно. Вероятно, мне следует использовать ключевой прослушиватель, верно?   -  person user2677095    schedule 14.08.2014
comment
Это зависит от. Например, вы можете решить использовать CaretListeners.   -  person PM 77-1    schedule 14.08.2014
comment
Считаете ли вы, что TextWatchers также могут работать?   -  person user2677095    schedule 14.08.2014


Ответы (2)


На очень абстрактном уровне — точно так же, как вы можете проверить пользовательский ввод при обнаружении нажатия кнопки, вы можете проверить пользовательский ввод при обнаружении нажатия пользователем клавиши. Задача состоит в том, чтобы настроить прослушиватели событий для обнаружения событий ввода клавиш (например, путем прослушивания текстового поля).

person Jae Heon Lee    schedule 14.08.2014
comment
Ах да, я совсем забыл о слушателях! Позвольте мне дать ему шанс, и, надеюсь, это сработает. - person user2677095; 14.08.2014

Существует прослушиватель с именем KeyListener, поэтому вы можете заставить свой TextField или TextArea прослушивать KeyType через KeyListener. Так что сообщите ему, что действие основано на каждом вводе клавиатуры, вы можете использовать getText().equal("your answer"), чтобы проверить, правильный ли ответ или нет.

Надеюсь, это поможет

person Mo Patchara    schedule 14.08.2014
comment
Разве TextWatchers не является классом Android? Я никогда раньше не разрабатывал Android, я не могу сказать. - person Mo Patchara; 14.08.2014