Специальное нажатие клавиши char вызывается часто - PullRequest
1 голос
/ 20 марта 2012

Я программирую программу, в которой важно иметь доступ ко многим клавишам клавиатуры.
Я добавляю KeyListener к реальному окну.Теперь, если пользователь нажимает буквенно-цифровую клавишу на клавиатуре, событие keyPressed вызывается один раз, как и должно быть.
Но если пользователь нажимает, например, точку или другой специальный символ, событие keyPressed получаетвызывается очень часто (до тех пор, пока клавиша удерживается нажатой, она вызывает событие)

Если вы хотите знать: я использую Mac Os Lion 10.7.2 и Java 6.0.

Можно ли избежать этого часто вызывающего события?

1 Ответ

1 голос
/ 20 марта 2012

Эти вещи должны давать результаты, подобные этому, потому что _ , чтобы появиться, вы должны нажать Shift , поэтому событие keyPressed(...) запускается для Shift ключ тоже. Для этого сценария лучше использовать KeyBinding . Многие клавиши, такие как Delete , Escape , будут действовать не так, как предполагалось, с KeyListeners.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...