我正在做JavaFX2.1中的作業,並且我遇到setOnKeyPressed
方法的問題。 我的程序模擬一架鋼琴,所以每次點擊一個按鈕時都會發出聲音:'Q'是'do','W'是're'等等...我也有(現在)鼠標輸入,這將被禁用後,因爲我不能同時播放幾個筆記...禁用setOnKeyPressed(JavaFX 2.1)的自動重複
我的問題:如果我按住一個鍵(當然,不與鼠標鍵)其相關的事件將在循環中觸發... 我做了幾個測試,並注意到只有setOnKeyPressed
被觸發,而不是setOnKeyReleased。
我做了一些解決方法,但他們沒有做什麼,我希望:
- 添加一個布爾值,要知道如果該鍵已被釋放一次禁止對多個按鍵按下的可能性。
- 聲音播放完畢後關閉音量(釋放按鍵時將音量恢復到原來的值)似乎也起作用,同樣也適用於多個按鍵,但聲音的持續時間比我握持時短得多將鼠標放在同一個鍵上。
有什麼建議?
你在做什麼是對的。 –