Я пытаюсь использовать метод isKeyPressed, и он просто не работает, есть ли конкретное место, где я должен нажать клавишу?
Скорее всего, вам нужно нажать клавишу, пока программаОкно GUI имеет фокус, но не обязательно, когда указатель мыши находится в каком-либо конкретном месте.Но самая большая проблема - время .Ваша программа проверяет, нажата ли в данный момент клавиша, когда элемент управления достигает оператора if
.Это должно произойти очень быстро после того, как он впервые отобразит что-то, очень вероятно, что вы слишком быстро наберете текст, поэтому ваша программа пролетит мимо этого, прежде чем вы сможете что-либо сделать.Кроме того, поскольку он (очень вероятно) реагирует только на нажатие клавиш, когда окно программы находится в фокусе, вы даже не должны ожидать, что вы сможете превентивно нажать клавишу и программа распознает ее.
Я неуверен, какой будет идиома StdDraw для такого рода вещей, если даже есть один.Я полагаю, вы хотите создать цикл, который многократно проверяет ввод и обновляет отображение.Обычно такая вещь естественным образом запускается в потоке отправки событий в графическом интерфейсе, но StdDraw, кажется, разработан, чтобы оградить вас от этого.