我想在用戶按'a'鍵時終止的java中實現一個簡單的程序(帶有永久循環)。我可以使用system.in來完成,但用戶應該按下'a'後按Enter鍵。我希望程序在按'a'後立即終止。是否有任何方法可以做到這一點。我發現使用JNI是一種解決方案,但我不喜歡使用第三方庫,因爲這只是一個簡單的代碼。在java控制檯應用程序中實現一個關鍵監聽程序
回答
但我不喜歡使用第三方庫,因爲這只是一個簡單的代碼。
然後它不能完成。
標準Java控制檯無法響應單鍵按壓,所以所有解決方案都需要第三方或JNI/JNA或非控制檯(gui)解決方案。
幾年前,我應對了這個問題,或者甚至更多。我發現了一個在Ubuntu系統中爲我工作的技巧。技巧是在執行應用程序之前調用
stty -icanon min 1
;這個相同的技巧被用作已經用於Windows環境的庫jline的一部分。
感謝FabioDch.Is有沒有辦法在Windows環境中做到這一點? –
不,對不起...也許你可以嘗試創建一個隱藏的JFrame,或類似的東西,並聽取一些keyEvent ...但它只不過是一個黑客。正如Hovercraft所說:「一個標準的Java控制檯無法響應單鍵按壓」。 – FabioDch
好吧我現在明白了。我會嘗試使用庫。謝謝你的答覆。 –
- 1. 爲鍵盤監聽器部署C#控制檯應用程序
- 2. 跨應用程序實現位置監聽程序
- 3. 基於控制檯的密鑰監聽程序Java
- 4. 從另一個java應用程序控制java應用程序
- 5. 在控制檯應用程序中解析Java鍵盤輸入
- 6. 在控制檯應用程序中實現導航菜單
- 7. 如何在.NET Core控制檯應用程序中實現MVVM?
- 8. 如何在控制檯應用程序中實現MVP?
- 9. java:控制檯應用程序主線程產生一個按鍵偵聽器線程
- 10. 如何監視Java控制檯應用程序?
- 11. Java控制檯應用程序清理
- 12. Java控制檯應用程序
- 13. Interruptable Java控制檯應用程序
- 14. Java控制檯應用程序鎖定
- 15. C#應用程序在控制檯中使用另一個應用程序
- 16. BlackBerry - 後臺應用程序監聽開始和前臺應用程序
- 17. 在一個單獨的線程中監聽控制檯應用程序的輸入
- 18. 監控appdynamics中的java應用程序
- 19. TIdTCPServer.OnExecute在控制檯應用程序中
- 20. 一個Java應用程序可以在同一臺Linux機器上監視另一個Java應用程序嗎?
- 21. 我如何製作一個實現KeyListener的控制檯應用程序?
- 22. 監控應用程序監控Java桌面應用程序的性能
- 23. Java控制檯程序
- 24. 如何在java的主程序的後臺實現事件監聽器?
- 25. 在Excel中實現監控「應用程序」
- 26. 我將控制檯應用程序重新制作成WinForm應用程序。我現在無法從另一個控制檯應用程序獲得輸出
- 27. Java小應用程序 - 鼠標和鍵監聽器
- 28. 將Java控制檯程序轉換爲Web應用程序
- 29. 基於測試控制檯的應用程序/程序 - Java
- 30. 重新啓動一個java控制檯應用程序代碼
感謝氣墊船Full of Eels,是否有任何代碼可以使用JNI庫來實現?這將會是一個很好的幫助。 –
@HeshithaHettihewa:我自己並沒有使用JNI。雖然這種解決方案僅限於Windows機器,但我已經使用了一個由套接字綁定到Java應用程序的小型AutoIt應用程序來解決類似的問題。也有第三方控制檯可用,可能會允許這個工作。 –
好的,謝謝我會做一些第三方庫的研究,可以幫助。 –