Я выполняю домашнюю работу в JavaFX2.1, и у меня есть проблема с методом setOnKeyPressed
. Мои программы имитируют пианино, поэтому он звучит каждый раз, когда я нажимаю кнопку: «Q» - «do», «W» - «re» и т. Д. ... У меня также есть (на данный момент) мышь вход, который будет отключен позже, так как я не могу воспроизвести сразу несколько заметок ...Отключить автоповторение setOnKeyPressed (JavaFX 2.1)
Моя проблема: если я удерживаю клавишу (на клавиатуре, конечно, не с помощью мыши), ее связанное событие будет запущен в цикле ... Я сделал несколько тестов и заметил, что запускается только setOnKeyPressed
, а не setOnKeyReleased.
Я сделал некоторые обходные пути, но они не делают то, что я ожидал:
- добавить логическое значение, чтобы знать, если ключ был выпущен отключает возможность нажатия на несколько клавиш одновременно.
- Отключение громкости после воспроизведения звука (и возврат его к значению при отпускании клавиши), похоже, работает, также для нескольких клавиш, НО продолжительность звука значительно короче по сравнению с тем, когда я держу вниз по мыши на той же клавише.
Любые предложения?
Что вы делаете правильно. –